summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/bluetooth/include
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2005-08-31 18:13:23 +0000
committeremax <emax@FreeBSD.org>2005-08-31 18:13:23 +0000
commita65c888f9931c9ca8af0cab1005eca5056cc0614 (patch)
tree723ee550e984161491555f7f607278306e152baf /sys/netgraph/bluetooth/include
parent273bd540cc996dc373c1c296dc2f0ace1bf6883a (diff)
downloadFreeBSD-src-a65c888f9931c9ca8af0cab1005eca5056cc0614.zip
FreeBSD-src-a65c888f9931c9ca8af0cab1005eca5056cc0614.tar.gz
Fix dangling callout problem in the Bluetooth L2CAP code that leads to
panic. The panic happens when outgoing L2CAP connection descriptor is deleted with the L2CAP command(s) pending in the queue. In this case when the last L2CAP command is deleted (due to cleanup) and reference counter for the L2CAP connection goes down to zero the auto disconnect timeout is incorrectly set. pjd gets credit for tracking this down and committing bandaid. Reported by: Jonatan B <onatan at gmail dot com> MFC after: 3 days
Diffstat (limited to 'sys/netgraph/bluetooth/include')
-rw-r--r--sys/netgraph/bluetooth/include/ng_l2cap.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netgraph/bluetooth/include/ng_l2cap.h b/sys/netgraph/bluetooth/include/ng_l2cap.h
index 094aad3..f57b5cb 100644
--- a/sys/netgraph/bluetooth/include/ng_l2cap.h
+++ b/sys/netgraph/bluetooth/include/ng_l2cap.h
@@ -623,6 +623,7 @@ typedef struct {
#define NG_L2CAP_CON_OUTGOING (1 << 2) /* outgoing connection */
#define NG_L2CAP_CON_LP_TIMO (1 << 3) /* LP timeout */
#define NG_L2CAP_CON_AUTO_DISCON_TIMO (1 << 4) /* auto discon. timeout */
+#define NG_L2CAP_CON_DYING (1 << 5) /* connection is dying */
typedef struct {
u_int8_t state; /* connection state */
OpenPOWER on IntegriCloud