[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADDKRnAfsqY-9fVs_TRvuJMRi5=ByrMGtbytKDJadSSckcQ-fw@mail.gmail.com>
Date: Mon, 29 Jun 2015 11:00:20 +0200
From: Jörg Otte <jrg.otte@...il.com>
To: Alexey Dobriyan <adobriyan@...il.com>
Cc: Marcel Holtmann <marcel@...tmann.org>,
Johan Hedberg <johan.hedberg@...il.com>,
"bluez mailin list (linux-bluetooth@...r.kernel.org)"
<linux-bluetooth@...r.kernel.org>,
inux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [4.1.0-07254-gc13c810] Regression: Bluetooth not working.
2015-06-28 18:09 GMT+02:00 Alexey Dobriyan <adobriyan@...il.com>:
> On Sun, Jun 28, 2015 at 05:36:04PM +0200, Jörg Otte wrote:
>> 2015-06-26 16:28 GMT+02:00 Jörg Otte <jrg.otte@...il.com>:
>> > 2015-06-26 12:03 GMT+02:00 Jörg Otte <jrg.otte@...il.com>:
>> >> 2015-06-26 11:37 GMT+02:00 Marcel Holtmann <marcel@...tmann.org>:
>> >>> 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@...il.com>
>> >>>> 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@...il.com>
>> >>>> Signed-off-by: Marcel Holtmann <marcel@...tmann.org>
>> >>>>
>> >>>> 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.
>> >
>> Ok, this was a little bit hasty!
>> I now see the following additional problems:
>>
>> - System freeze on resume (occures always).
>> - System freeze on shutdown (occures sometimes)
>> - System freeze when BT-mouse is connecting (occures sometimes).
>>
>> Then I can't do anything except power off.
>>
>> This happens only if Bluetooth AND BT-mouse is activated.
>
> OK, what happens if you just revert only list_del patch?
I have applied this patch:
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);
without this patch bluetooth doesn't work at all for me.
Thanks, Jörg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists