Bluetooth: Fix L2CAP locking scheme regression
authorAndrei Emeltchenko <andrei.emeltchenko@nokia.com>
Tue, 15 Dec 2009 09:38:04 +0000 (11:38 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 17 Dec 2009 20:07:25 +0000 (12:07 -0800)
When locking was introduced the error path branch was not taken
into account. Error was found in sparse code checking. Kudos to
Jani Nikula.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Acked-by: Gustavo F. Padovan <gustavo@las.ic.unicamp.br>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/l2cap.c

index fb0f81d99f96adf05250963a8ba91871b936d2c1..1120cf14a5484b0bd9ac3ba331874e81121c1182 100644 (file)
@@ -1212,6 +1212,7 @@ static void l2cap_monitor_timeout(unsigned long arg)
        bh_lock_sock(sk);
        if (l2cap_pi(sk)->retry_count >= l2cap_pi(sk)->remote_max_tx) {
                l2cap_send_disconn_req(l2cap_pi(sk)->conn, sk);
+               bh_unlock_sock(sk);
                return;
        }