Bluetooth: Fix check for the ERTM local busy state
authorMat Martineau <mathewm@codeaurora.org>
Fri, 3 Jun 2011 23:21:10 +0000 (16:21 -0700)
committerGustavo F. Padovan <padovan@profusion.mobi>
Wed, 8 Jun 2011 19:58:19 +0000 (16:58 -0300)
Local busy is encoded in a bitfield, but was not masked out correctly.

Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/l2cap_core.c

index e3b86fc3ba9ac66fbc9c3d5c9f6b0cf4d83541aa..dff9d76fe790ebc18f7ade32a06ab138db54a36a 100644 (file)
@@ -3540,7 +3540,7 @@ static inline int l2cap_data_channel_iframe(struct l2cap_chan *chan, u16 rx_cont
                goto drop;
        }
 
-       if (chan->conn_state == L2CAP_CONN_LOCAL_BUSY)
+       if (chan->conn_state & L2CAP_CONN_LOCAL_BUSY)
                goto drop;
 
        if (chan->conn_state & L2CAP_CONN_SREJ_SENT) {