Bluetooth: Fix duplicate call to l2cap_chan_ready()
authorJohan Hedberg <johan.hedberg@intel.com>
Mon, 29 Apr 2013 16:35:40 +0000 (19:35 +0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Sat, 22 Jun 2013 23:23:48 +0000 (00:23 +0100)
In l2cap_le_conn_ready() after doing l2cap_chann_add() the LE channel is
part of the list which is subsequently iterated in l2cap_conn_ready() in
this loop each channel will get l2cap_chan_ready() called which would
result in trying to set the channel two times into BT_CONNECTED state.
Instead it makes sense to just add the channel but not call chan_ready
in l2cap_le_conn_ready, which is what this patch does.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/l2cap_core.c

index 417d17723ee9d94b2e21f7718e0d02ee3625748f..843463ecd7bc62f8651b1500af73be722a11435d 100644 (file)
@@ -1371,8 +1371,6 @@ static void l2cap_le_conn_ready(struct l2cap_conn *conn)
 
        l2cap_chan_add(conn, chan);
 
-       l2cap_chan_ready(chan);
-
 clean:
        release_sock(parent);
 }