diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index e3b86fc3ba9ac66fbc9c3d5c9f6b0cf4d83541aa..dff9d76fe790ebc18f7ade32a06ab138db54a36a 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -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) {