Re: [4.1.0-07254-gc13c810] Regression: Bluetooth not working.
From: Jörg Otte <hidden>
Date: 2015-06-29 09:00:28
Also in:
lkml
Subsystem:
bluetooth subsystem, the rest · Maintainers:
Marcel Holtmann, Luiz Augusto von Dentz, Linus Torvalds
2015-06-28 18:09 GMT+02:00 Alexey Dobriyan [off-list ref]:
On Sun, Jun 28, 2015 at 05:36:04PM +0200, J=C3=B6rg Otte wrote:quoted
2015-06-26 16:28 GMT+02:00 J=C3=B6rg Otte [off-list ref]:quoted
2015-06-26 12:03 GMT+02:00 J=C3=B6rg Otte [off-list ref]:quoted
2015-06-26 11:37 GMT+02:00 Marcel Holtmann [off-list ref]:quoted
Hi Joerg,quoted
Bluetooth is inoperable in current Linus tree and the first bad commit is: 835a6a2f8603237a3e6cded5a6765090ecb06ea5 is the first bad commit commit 835a6a2f8603237a3e6cded5a6765090ecb06ea5 Author: Alexey Dobriyan [off-list ref] Date: Wed Jun 10 20:28:33 2015 +0300 Bluetooth: Stop sabotaging list poisoning list_del() poisons pointers with special values, no need to over=
write them.
quoted
quoted
quoted
quoted
quoted
Signed-off-by: Alexey Dobriyan [off-list ref] Signed-off-by: Marcel Holtmann [off-list ref] 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.
quoted
quoted
quoted
quoted
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,
quoted
quoted
quoted
quoted
session->conn =3D l2cap_conn_get(conn); session->user.probe =3D hidp_session_probe; session->user.remove =3D hidp_session_remove; + INIT_LIST_HEAD(&session->user.list); session->ctrl_sock =3D ctrl_sock; session->intr_sock =3D 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 =3D l2cap_conn_get(conn);
session->user.probe =3D hidp_session_probe;
session->user.remove =3D hidp_session_remove;
+ INIT_LIST_HEAD(&session->user.list);
session->ctrl_sock =3D ctrl_sock;
session->intr_sock =3D intr_sock;
skb_queue_head_init(&session->ctrl_transmit);
without this patch bluetooth doesn't work at all for me.
Thanks, J=C3=B6rg