Return-Path: MIME-Version: 1.0 Reply-To: corey@kansanian.com In-Reply-To: <20110525113614.GQ2480@null> References: <201105250711.17971.edt@aei.ca> <20110525113614.GQ2480@null> Date: Wed, 25 May 2011 07:53:01 -0400 Message-ID: Subject: Re: Linux 2.6.39 From: Corey Boyle To: Ville Tervo Cc: ext Ed Tomlinson , Bluettooth Linux , linux-kernel@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: On Wed, May 25, 2011 at 7:36 AM, Ville Tervo wrote: > On Wed, May 25, 2011 at 07:11:17AM -0400, ext Ed Tomlinson wrote: >> On Wednesday 25 May 2011 06:54:54 Corey Boyle wrote: >> > > On Mon, May 23, 2011 at 06:08:36PM -0400, ext Ed Tomlinson wrote: >> > > > On Saturday 21 May 2011 16:31:00 Ed Tomlinson wrote: >> > > > > On Saturday 21 May 2011 13:56:20 Milan Oravec wrote: >> > > > > > Hi Linus, I'm sorry bothering you, but my usb-bluetooth dongle stop working in >> > > > > > 2.6.39 kernel series. >> > > > > > I know it is nothing ground breaking but it is bug. >> > > > > > I'm using this hardware from 2.6.11 kernel series. >> > > > > > Details are included in this thread: >> > > > > > >> > > > > > https://lkml.org/lkml/2011/4/18/481 >> > > > > > >> > > > > > I hope I'm doing nothing false writing this email. >> > > > > >> > > > > Same device, same problem here. >> > > > > >> > > > > You are not alone >> > > > >> > > > I had some time this afternood so I tried bisecting without much luck. ?I ended up \ >> > > > somewhere rc1 ish with a system that would paniced during boot. ?Here is the bisect \ >> > > > log incase it helps: >> > > > # bad: [61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf] Linux 2.6.39 >> > > > # good: [521cb40b0c44418a4fd36dc633f575813d59a43d] Linux 2.6.38 >> > > > git bisect start 'v2.6.39' 'v2.6.38' '--' 'drivers/bluetooth' >> > > > # bad: [7a6362800cb7d1d618a697a650c7aaed3eb39320] Merge \ >> > > > git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 git bisect bad \ >> > > > 7a6362800cb7d1d618a697a650c7aaed3eb39320 # bad: \ >> > > > [0a0e9ae1bd788bc19adc4d4ae08c98b233697402] Merge branch 'master' of \ >> > > > master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 git bisect bad \ >> > > > 0a0e9ae1bd788bc19adc4d4ae08c98b233697402 # skip: \ >> > > > [03c2d0e89409b59c1ec9d9511533cedc0b7aaa69] Bluetooth: Use usb_fill_int_urb() git \ >> > > > bisect skip 03c2d0e89409b59c1ec9d9511533cedc0b7aaa69 # skip: \ >> > > > [7f4b2b04c88377af30c022f36c060190182850fb] Bluetooth: Make hci a child of the \ >> > > > corresponding tty device. git bisect skip 7f4b2b04c88377af30c022f36c060190182850fb >> > > > # skip: [84f0e17f78471857104a20dfc57711409f68d7bf] Bluetooth: ath3k: Avoid \ >> > > > duplication of code git bisect skip 84f0e17f78471857104a20dfc57711409f68d7bf >> > > > >> > > > Ring any bells for anyone? >> > > > >> > > > Probably should open a regression bug for this too.... >> > > >> > > I think this is regression with d5859e22cd40b73164b3e5d8d5d796f96edcc6af >> > > commit. Probably the code tries to enable something that is not supported. >> > > >> > > Could you pastebin hcidump while doing hciconfig hci0 up? > > Some cutting done > >> >> hcidump >> HCI sniffer - Bluetooth packet analyzer ver 2.0 >> < HCI Command: Read Local Supported Features (0x04|0x0003) plen 0 >> > HCI Event: Command Complete (0x0e) plen 12 >> ? ? Read Local Supported Features (0x04|0x0003) ncmd 1 >> ? ? status 0x00 >> ? ? Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00 >> < HCI Command: Read Local Version Information (0x04|0x0001) plen 0 >> > HCI Event: Command Complete (0x0e) plen 12 >> ? ? Read Local Version Information (0x04|0x0001) ncmd 1 >> ? ? status 0x00 >> ? ? HCI Version: 1.1 (0x1) HCI Revision: 0x20d >> ? ? LMP Version: 1.1 (0x1) LMP Subversion: 0x20d >> ? ? Manufacturer: Cambridge Silicon Radio (10) >> < HCI Command: Set Event Mask (0x03|0x0001) plen 8 >> ? ? Mask: 0xfffffbff00000000 >> > HCI Event: Command Complete (0x0e) plen 4 >> ? ? Set Event Mask (0x03|0x0001) ncmd 1 >> ? ? status 0x12 >> ? ? Error: Invalid HCI Command Parameters >> > > Yes the HCI_OP_SET_EVENT_MASK cmd seems to be the source of problems. > > Maybe is rejects it because two reserved bits are being enabled. Could you try > this patch? > > diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c > index 19cd4af..e483e30 100644 > --- a/net/bluetooth/hci_event.c > +++ b/net/bluetooth/hci_event.c > @@ -475,7 +475,7 @@ static void hci_setup_event_mask(struct hci_dev *hdev) > ? ? ? ?/* The second byte is 0xff instead of 0x9f (two reserved bits > ? ? ? ? * disabled) since a Broadcom 1.2 dongle doesn't respond to the > ? ? ? ? * command otherwise */ > - ? ? ? u8 events[8] = { 0xff, 0xff, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x00 }; > + ? ? ? u8 events[8] = { 0xff, 0x9f, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x00 }; > > ? ? ? ?/* Events for 1.2 and newer controllers */ > ? ? ? ?if (hdev->lmp_ver > 1) { > > > -- > Ville > No luck for me with a Microsoft Wireless Transceiver for Bluetooth. Not sending the HCI_OP_SET_EVENT_MASK command at all seems to fix it, but it seems to have negative effects on my devices battery life when doing so.