Bluetooth compatibility fix

Brian Rogers brian at xyzw.org
Fri Feb 27 11:58:54 UTC 2009


I'm trying to get the following Bluetooth compatibility bug fixed for 
Intrepid and Jaunty:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/268502

What I've found is that the newer btusb driver never worked for certain 
dongles, so when it replaced hci_usb in 2.6.27 those dongles no longer 
worked. I also found that the problem was solved by the commit 
'Bluetooth: Submit bulk URBs along with interrupt URBs' in 
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-testing.git

Unfortunately, there are other changes to the file 
drivers/bluetooth/btusb.c in bluetooth-testing, before the fix, and 
therefore the fix can't be cleanly cherry-picked by itself. But I did 
verify that if you pull in the fix and its dependencies on top of either 
the Intrepid or Jaunty kernel, it gets my problem dongle working.

Since just taking everything probably wouldn't be acceptable for the 
Jaunty kernel or an Intrepid SRU, I've been able to pare down the 
commits to cherry-pick to the following three (with some minor updates 
and conflict resolution):

Bluetooth: Add fine grained mem_flags usage to btusb driver
Bluetooth: Handle bulk URBs in btusb driver from notify callback
Bluetooth: Submit bulk URBs along with interrupt URBs

Does this approach sound acceptable? I'll post my pared-down patches 
after I do some testing. Alternatively, I could try backporting the fix 
to stand by itself without the two prior changes.

Either way, the result will be applicable to both the Intrepid and 
Jaunty kernels since btusb hasn't changed between them.

Brian





More information about the kernel-team mailing list