freebsd-skq/sys/netgraph/bluetooth
emax a2939bc1de Make sure RFCOMM multiplexor channel does not hang in DISCONNECTING
state. Apparently it happens when both devices try to disconnect RFCOMM
multiplexor channel at the same time.

The scenario is as follows:

- local device initiates RFCOMM connection to the remote device. This
  creates both RFCOMM multiplexor channel and data channel;

- remote device terminates RFCOMM data channel (inactivity timeout);

- local device acknowledges RFCOMM data channel termination. Because
  there is no more active data channels and local device has initiated
  connection it terminates RFCOMM multiplexor channel;

- remote device does not acknowledges RFCOMM multiplexor channel
  termination. Instead it sends its own request to terminate RFCOMM
  multiplexor channel. Even though local device acknowledges RFCOMM
  multiplexor channel termination the remote device still keeps
  L2CAP connection open.

Because of hanging RFCOMM multiplexor channel subsequent RFCOMM
connections between local and remote devices will fail.

Reported by:	Johann Hugo <jhugo@icomtek.csir.co.za>
2004-04-23 20:21:17 +00:00
..
common Part one of undating the bluetooth code to the newest version 2003-05-10 21:44:42 +00:00
drivers Make sure Bluetooth stuff can be compiled on amd64 2004-04-09 23:01:42 +00:00
hci Make sure Bluetooth stuff can be compiled on amd64 2004-04-09 23:01:42 +00:00
include Replace deprecated NG_NODELEN with the new NG_NODESIZ. There is one 2004-01-26 15:19:43 +00:00
l2cap Make sure Bluetooth stuff can be compiled on amd64 2004-04-09 23:01:42 +00:00
socket Make sure RFCOMM multiplexor channel does not hang in DISCONNECTING 2004-04-23 20:21:17 +00:00