Bluetooth: Pause RFCOMM TX when encryption drops
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 16 Jan 2009 07:17:51 +0000 (08:17 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 27 Feb 2009 05:14:33 +0000 (06:14 +0100)
commit8c84b83076b5062f59b6167cdda90d9e5124aa71
tree7a47b0b80be4222494b272846ad5233f0d04c6e6
parent9f2c8a03fbb3048cf38b158f87aa0c3c09bca084
Bluetooth: Pause RFCOMM TX when encryption drops

A role switch with devices following the Bluetooth pre-2.1 standards
or without Encryption Pause and Resume support is not possible if
encryption is enabled. Most newer headsets require the role switch,
but also require that the connection is encrypted.

For connections with a high security mode setting, the link will be
immediately dropped. When the connection uses medium security mode
setting, then a grace period is introduced where the TX is halted and
the remote device gets a change to re-enable encryption after the
role switch. If not re-enabled the link will be dropped.

Based on initial work by Ville Tervo <ville.tervo@nokia.com>

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/rfcomm.h
net/bluetooth/rfcomm/core.c