On Mon, Jun 29, 2015 at 12:00 PM, Jörg Otte <jrg.otte@xxxxxxxxx> wrote: > 2015-06-28 18:09 GMT+02:00 Alexey Dobriyan <adobriyan@xxxxxxxxx>: >> 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@xxxxxxxxx>: >>> > 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. >>> > >>> 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. Sure. Please drop this patch, and do git-revert 835a6a2f8603237a3e6cded5a6765090ecb06ea5 Maybe it's some other changes causing hangs. -- 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