Bluetooth: Fix removing of RFCOMM DLC timer with DEFER_SETUP
authorJohan Hedberg <johan.hedberg@nokia.com>
Thu, 26 Mar 2009 14:41:56 +0000 (16:41 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 19 Apr 2009 16:56:45 +0000 (18:56 +0200)
There is a missing call to rfcomm_dlc_clear_timer in the case that
DEFER_SETUP is used and so the connection gets disconnected after the
timeout even if it was successfully accepted previously.

This patch adds a call to rfcomm_dlc_clear_timer to rfcomm_dlc_accept
which will get called when the user accepts the connection by calling
read() on the socket.

Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/rfcomm/core.c

index 1d0fb0f23c63162ddd008eaf4d39ece9384a45f6..374536e050aa546f1a4f4ed27e5a48d9514df62b 100644 (file)
@@ -1194,6 +1194,8 @@ void rfcomm_dlc_accept(struct rfcomm_dlc *d)
 
        rfcomm_send_ua(d->session, d->dlci);
 
+       rfcomm_dlc_clear_timer(d);
+
        rfcomm_dlc_lock(d);
        d->state = BT_CONNECTED;
        d->state_change(d, 0);