• Dean Jenkins's avatar
    Bluetooth: Make __l2cap_wait_ack more efficient · f65468f6
    Dean Jenkins authored
    Use chan->state instead of chan->conn because waiting
    for ACK's is only possible in the BT_CONNECTED state.
    Also avoids reference to the conn structure so makes
    locking easier.
    
    Only call __l2cap_wait_ack() when the needed condition
    of chan->unacked_frames > 0 && chan->state == BT_CONNECTED
    is true and convert the while loop to a do while loop.
    
    __l2cap_wait_ack() change the function prototype to
    pass in the chan variable as chan is already available
    in the calling function l2cap_sock_shutdown(). Avoids
    locking issues.
    Signed-off-by: default avatarDean Jenkins <Dean_Jenkins@mentor.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    f65468f6
l2cap_sock.c 35.4 KB