|
From: Peter K. <pk...@us...> - 2001-10-02 13:45:20
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
bluetooth.c 1.199 1.200=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Call update_ncp() directly from bt_catch_ncp() instead of calling
bt_receive_data() since it calls hci_receive_data() which is a state
machine, and we do not want to mess up its state...
The diff of the modified file(s):
--- bluetooth.c 2001/10/02 11:58:50 1.199
+++ bluetooth.c 2001/10/02 13:44:49 1.200
@@ -1802,7 +1802,16 @@
=20
if (index =3D=3D count) {
/* Contains _only_ NCP data, parse it ! */
- bt_receive_data(data, count);
+
+ /* The easy way would be to call bt_receive_data(data, count),
+ but since it calls hci_receive_data() which is a state
+ machine, we might mess up its state... */
+ index =3D 0;
+ while (index+2 < count) {
+ update_ncp(data[index+3], data+index+4);
+ index +=3D (3 + data[index + 2]);
+ }
+
return 1;
}
=20=09
|