Hi Pavel,
ok... But as long as the old code is buildable and installable,
we should
fix bugs in it?
I am okay with it and happy to accept any fixes, but to be quite
honest,
that this driver still works is in some cases pure luck. Doing the
URB
handling by ourself is really simply plain work. No excuses here
and parts
of it is my fault. I know that. Hence I started a new
implementation from
scratch.
Ok, so I guess this is good idea... (I'd prefer previous race patch to
still be applied; but driver is broken even with that fix...)
I thought about adding && BROKEN to Kconfig...
---
hci_usb is fatally broken, document it as such.
Signed-off-by: Pavel Machek <pavel@xxxxxxx>
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 075598e..20d9279 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -3,13 +3,16 @@ menu "Bluetooth device drivers"
depends on BT
config BT_HCIUSB
- tristate "HCI USB driver"
+ tristate "HCI USB driver (dangerous, use alternate driver below)"
depends on USB
help
Bluetooth HCI USB driver.
This driver is required if you want to use Bluetooth devices with
USB interface.
+ Unfortunately, locking in this driver is fatally broken; it will
+ corrupt memory on surprise disconnect and during resume.
+
Say Y here to compile support for Bluetooth USB devices into the
kernel or say M to compile it as module (hci_usb).
this would be fine with me. Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx
>
diff --git a/drivers/bluetooth/hci_usb.c b/drivers/bluetooth/hci_usb.c
index 192522e..6cc96b4 100644
--- a/drivers/bluetooth/hci_usb.c
+++ b/drivers/bluetooth/hci_usb.c
@@ -1,8 +1,22 @@
-/*
+/*
+
+ This driver has fatally broken locking.
+
+ DO NOT USE.
+
+ See btusb.c for cleaner / shorter / actually working driver.
NAK to this hunk. Not needed. The Kconfig help is enough.
Regards
Marcel
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html