Re: hci reset on init

From: Marcel Holtmann
Date: Mon Mar 03 2008 - 05:57:02 EST


Hi Dave,

Recently, I find my usb bluetooth dongle doesn't work after reboot or resume.

Kernel report (with bluetooth mouse active):

Feb 15 16:54:32 darkstar kernel: hci_acldata_packet: hci0 ACL packet for unknown
connection handle 43
Feb 15 16:54:34 darkstar last message repeated 124 times

I fixed it by adding HCI_RESET to CSR usb id:
{ USB_DEVICE(0x0a12, 0x0001), .driver_info = HCI_CSR | HCI_RESET},

Maybe you have known that there's other reports about this on
bluetooth list as well.

Most of the ids in hci_usb.c have the HCI_RESET option set. Does we
need to do this automaticly? I want to know whether sending reset
request on init in hci_core.c is better, or at least the btusb driver
need these porting.

What's your opinion?

this is a clear NAK since you gonna break all old CSR based dongles. Within the Bluetooth 1.0b and 1.1 specification there was an issues with if HCI_Reset should only reset the Bluetooth internals or also the transport. So issuing HCI_Reset on an old dongle will cause an USB reset.

The solution is to find the build id when CSR produced correct firmware and set the HCI_RESET quirk based on that. I meant to do this for a long time, but so far never got around to inquiry the correct build id where this got fixed.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/