Bluetooth: Fix check for the ERTM local busy state
Mat Martineau [Fri, 3 Jun 2011 23:21:10 +0000 (16:21 -0700)]
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 e3b86fc..dff9d76 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) {