Re: [bluetooth] linux-3.x regression (bisected)

From: Gustavo Padovan
Date: Tue Dec 27 2011 - 15:29:58 EST


Hi Rene,

* Rene Herman <rene.herman@xxxxxxxxx> [2011-12-27 20:38:32 +0100]:

> On 27-12-11 18:22, Andre Guedes wrote:
>
> >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 for the verbosity. Here's a -- full, just in case it's useful
> -- dmesg from vanilla 3.1.6 (i.e., when bluetooth does not work)
> generated per the above. The bluetooth bit is the last part.

snip

>
> hci_le_init_req:hci0
> hci_send_cmd:hci0 opcode 0x2002 plen 0
> hci_send_cmd:skb len 3
> hci_cmd_task:hci0 cmd 1
> hci_send_frame:hci0 type 1 len 3
> btusb_send_frame:hci0
> btusb_tx_complete:hci0 urb e6900700 status 0 count 3
> Bluetooth: hci0 command tx timeout
> hci_cmd_task:hci0 cmd 1
> __hci_request:hci0 end: err -110

Seems your extfeatures is telling you something different from what it really
supports. Can you try with the following diff (use the dynamic debug that Andre
told you)

Also the output of hcidump would nice.


diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 919e3c0..4c9f1aa 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -711,6 +711,8 @@ static void hci_cc_read_local_ext_features(struct hci_dev *hdev,
if (rp->status)
return;

+ BT_DBG("features 0x%2.2x", rp->features[0]);
+
memcpy(hdev->extfeatures, rp->features, 8);

hci_req_complete(hdev, HCI_OP_READ_LOCAL_EXT_FEATURES, rp->status);


Gustavo
--
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/