diff options
| author | Jaikumar Ganesh <jaikumar@google.com> | 2009-02-02 21:03:57 -0500 |
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2009-02-27 00:14:35 -0500 |
| commit | 6e1031a40029492c10509e8c3dcac9b611438ccb (patch) | |
| tree | 534b3b4c4b1495ae0f948453bf54e0d71e1216f5 /net/bluetooth | |
| parent | 34a55eda483e8177c9044f93fd2c9107f02bf1c7 (diff) | |
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>
Diffstat (limited to 'net/bluetooth')
| -rw-r--r-- | net/bluetooth/rfcomm/core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index ad0e25a21832..3717c25ba33a 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c | |||
| @@ -1749,6 +1749,9 @@ static inline void rfcomm_process_dlcs(struct rfcomm_session *s) | |||
| 1749 | continue; | 1749 | continue; |
| 1750 | } | 1750 | } |
| 1751 | 1751 | ||
| 1752 | if (test_bit(RFCOMM_SEC_PENDING, &d->flags)) | ||
| 1753 | continue; | ||
| 1754 | |||
| 1752 | if (test_bit(RFCOMM_TX_THROTTLED, &s->flags)) | 1755 | if (test_bit(RFCOMM_TX_THROTTLED, &s->flags)) |
| 1753 | continue; | 1756 | continue; |
| 1754 | 1757 | ||
