|
From: Peter K. <pk...@us...> - 2001-04-12 16:25:59
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
rfcomm.c 1.99 1.100=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
If rfcomm session was reset in rfcomm_disconnect_req(), we
called l2ca_disconnect_req() with a NULL pointer instead of
the l2cap_con object.
The diff of the modified file(s):
--- rfcomm.c 2001/04/12 12:25:29 1.99
+++ rfcomm.c 2001/04/12 16:25:58 1.100
@@ -779,6 +779,8 @@
tmp =3D get_connected_dlci(rfcomm);
=20
if (tmp > 0) {
+ l2cap_con *l2cap =3D rfcomm->l2cap;
+
rfcomm->dlci[tmp].state =3D DISCONNECTING;
=20=09=09
send_disc(rfcomm, tmp);
@@ -786,8 +788,8 @@
#ifdef __KERNEL__
start_wq_timer(&rfcomm_timer, RFCOMM_CON_TIMEOUT,
&rfcomm_disconnect_wq);
-
#endif
+
/* FIXME -- check that we haven't already received=20
disconnect 'acknowledge' */
=20
@@ -810,10 +812,9 @@
=20
/* Now rfcomm is disconnected, disconnect l2cap */
=20
- l2ca_disconnect_req(rfcomm->l2cap);
+ l2ca_disconnect_req(l2cap);
=20
/* Now l2cap ch for RFCOMM is disconnected */
-
}
else
D_WARN("rfcomm_disconnect_req : line not connected !\n");
|