On 28-12-11 17:48, Marcel Holtmann wrote:
The correct patch would be something like this: diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 919e3c0..b6eb9c5 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -711,7 +711,8 @@ static void hci_cc_read_local_ext_features(struct hci_dev *h if (rp->status) return; - memcpy(hdev->extfeatures, rp->features, 8); + if (rp->page == 1) + memcpy(hdev->extfeatures, rp->features, 8); hci_req_complete(hdev, HCI_OP_READ_LOCAL_EXT_FEATURES, rp->status); } The current patch is actually fully broken anyway. So besides switching LE on when requesting page 0, you will also switch it off when requesting any other page and it accidentally returns 0x00 since we unconditionally overwrite it.
Don't know anything about pages, but... I can confirm that the above works for me as well.
Rene. -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html