Re: [4.1.0-07254-gc13c810] Regression: Bluetooth not working.

From: JÃrg Otte
Date: Fri Jun 26 2015 - 10:28:36 EST


2015-06-26 12:03 GMT+02:00 JÃrg Otte <jrg.otte@xxxxxxxxx>:
> 2015-06-26 11:37 GMT+02:00 Marcel Holtmann <marcel@xxxxxxxxxxxx>:
>> Hi Joerg,
>>
>>> Bluetooth is inoperable in current Linus tree and the
>>> first bad commit is:
>>>
>>> 835a6a2f8603237a3e6cded5a6765090ecb06ea5 is the first bad commit
>>> commit 835a6a2f8603237a3e6cded5a6765090ecb06ea5
>>> Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
>>> Date: Wed Jun 10 20:28:33 2015 +0300
>>>
>>> Bluetooth: Stop sabotaging list poisoning
>>>
>>> list_del() poisons pointers with special values, no need to overwrite them.
>>>
>>> Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
>>> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
>>>
>>> My BT adapter is an intel 8087:07da
>>> I reverted that commit and this fixed the problem for me.
>>
>> today we had a patch from Tedd fixing the list initialization in the HIDP code.
>>
>> diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
>> index 9070dfd6b4ad..f1a117f8cad2 100644
>> --- a/net/bluetooth/hidp/core.c
>> +++ b/net/bluetooth/hidp/core.c
>> @@ -915,6 +915,7 @@ static int hidp_session_new(struct hidp_session **out, const bdaddr_t *bdaddr,
>> session->conn = l2cap_conn_get(conn);
>> session->user.probe = hidp_session_probe;
>> session->user.remove = hidp_session_remove;
>> + INIT_LIST_HEAD(&session->user.list);
>> session->ctrl_sock = ctrl_sock;
>> session->intr_sock = intr_sock;
>> skb_queue_head_init(&session->ctrl_transmit);
>>
>> Could this be fixing it for you as well?
>>
> I will check this when I am at home in the
> afternoon.
>

The patch works for me too.

Thanks, JÃrg
--
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/