Return-Path: MIME-Version: 1.0 In-Reply-To: <4EF3BACA.1080405@gmail.com> References: <4EF3BACA.1080405@gmail.com> Date: Tue, 27 Dec 2011 14:22:26 -0300 Message-ID: Subject: Re: [bluetooth] linux-3.x regression (bisected) From: Andre Guedes To: Rene Herman Cc: "Gustavo F. Padovan" , linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Rene, On Thu, Dec 22, 2011 at 8:18 PM, Rene Herman wrote: > Good day. > > A while ago, my noname USB Bluetooth adapter stopped working, with from that > point on only "Bluetooth: hci0 command tx timeout" appearing in the kernel > messages. > > I just now got around to looking at it and bisected this to commit > eead27da60df80a112d1ac3ea482226e9794c26b: > > === > Author: Andre Guedes > Date: ? Thu Jun 30 19:20:55 2011 -0300 > > ? ?Bluetooth: Add lmp_host_le_capable() macro > > ? ?Since we have the extended LMP features properly implemented, we > ? ?should check the LMP_HOST_LE bit to know if the host supports LE. > > ? ?Signed-off-by: Andre Guedes > ? ?Signed-off-by: Gustavo F. Padovan > === > > while that commit cannot be reverted outright due to dependencies, reverting > it functionally fixes things for me. That is, Bluetooth works again after > applying (to linux-3.1.6): > > === > diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c > index 56943ad..c7f794e 100644 > --- a/net/bluetooth/hci_core.c > +++ b/net/bluetooth/hci_core.c > @@ -540,7 +540,7 @@ int hci_dev_open(__u16 dev) > ? ? ? ? ? ? ? ?ret = __hci_request(hdev, hci_init_req, 0, > > msecs_to_jiffies(HCI_INIT_TIMEOUT)); > > - ? ? ? ? ? ? ? if (lmp_host_le_capable(hdev)) > + ? ? ? ? ? ? ? if (lmp_le_capable(hdev)) > ? ? ? ? ? ? ? ? ? ? ? ?ret = __hci_request(hdev, hci_le_init_req, 0, > > msecs_to_jiffies(HCI_INIT_TIMEOUT)); > === > > It seems that my adapter wasn't ready for the change. It is a: > > 002 Device 002: ID 1131:1004 Integrated System Solution Corp. Bluetooth > Device > > If more specific information is wanted (to add adapter-specific quirk > handling, perhaps?) please be verbose on how to obtain it. I don't know > anything about Bluetooth Could you please send us the kernel log messages with Bluetooth debug enabled? Here goes the instructions: 1. Compile kernel with CONFIG_DYNAMIC_DEBUG=y. 2. Load Bluetooth module. 3. Run the following commands to turn debug on (remember to mount debugfs first): -- $ echo "file hci_core.c +pf" > /sys/kernel/debug/dynamic_debug/control $ echo "file hci_event.c +pf" > /sys/kernel/debug/dynamic_debug/control $ echo "file mgmt.c +pf" > /sys/kernel/debug/dynamic_debug/control $ echo "file btusb.c +pf" > /sys/kernel/debug/dynamic_debug/control -- 4. Plug the Bluetooth adapter. Thanks in advance, Andre