Quellcode durchsuchen

Bluetooth: When encryption is dropped, do not send RFCOMM packets

During a role change with pre-Bluetooth 2.1 devices, the remote side drops
the encryption of the RFCOMM connection. We allow a grace period for the
encryption to be re-established, before dropping the connection. During
this grace period, the RFCOMM_SEC_PENDING flag is set. Check this flag
before sending RFCOMM packets.

Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Jaikumar Ganesh vor 16 Jahren
Ursprung
Commit
6e1031a400
1 geänderte Dateien mit 3 neuen und 0 gelöschten Zeilen
  1. 3 0
      net/bluetooth/rfcomm/core.c

+ 3 - 0
net/bluetooth/rfcomm/core.c

@@ -1749,6 +1749,9 @@ static inline void rfcomm_process_dlcs(struct rfcomm_session *s)
 			continue;
 		}
 
+		if (test_bit(RFCOMM_SEC_PENDING, &d->flags))
+			continue;
+
 		if (test_bit(RFCOMM_TX_THROTTLED, &s->flags))
 			continue;