[opensuse-kernel] continuous flow of: btusb_intr_complete: hci0 urb ffff8800b553e980 failed to resubmit (1)
Hi, since a few days (probably since the update to 2.6.37-rc), i'm getting those all the time when using my Bluetooth mouse: [280800.710274] btusb_intr_complete: hci0 urb ffff8800b553e980 failed to resubmit (1) [280800.711255] btusb_bulk_complete: hci0 urb ffff88003b01de40 failed to resubmit (1) [280800.712234] btusb_bulk_complete: hci0 urb ffff880130bae500 failed to resubmit (1) [280810.713221] btusb_intr_complete: hci0 urb ffff88012be0ce00 failed to resubmit (1) [280810.714203] btusb_bulk_complete: hci0 urb ffff8800532f9540 failed to resubmit (1) [280810.715209] btusb_bulk_complete: hci0 urb ffff88003b13af00 failed to resubmit (1) [280814.713273] btusb_intr_complete: hci0 urb ffff880045756d80 failed to resubmit (1) [280814.714293] btusb_bulk_complete: hci0 urb ffff880035d1bec0 failed to resubmit (1) [280814.715285] btusb_bulk_complete: hci0 urb ffff88003b13ac00 failed to resubmit (1) [280821.713412] btusb_intr_complete: hci0 urb ffff8801293cf0c0 failed to resubmit (1) [280821.714431] btusb_bulk_complete: hci0 urb ffff88003b13ac00 failed to resubmit (1) [280821.715432] btusb_bulk_complete: hci0 urb ffff880035d1bec0 failed to resubmit (1) [280835.707273] btusb_intr_complete: hci0 urb ffff8800a83a6c80 failed to resubmit (1) [280835.708233] btusb_bulk_complete: hci0 urb ffff8801292986c0 failed to resubmit (1) [280835.709269] btusb_bulk_complete: hci0 urb ffff880078654f00 failed to resubmit (1) Has this something to do with runtime power management? It seems like it's always 3 messages about 2 or 3 seconds after the last mouse movement. -- Stefan Seyfried "Any ideas, John?" "Well, surrounding them's out." -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Tue, 30 Nov 2010 11:10:22 +0100 Stefan Seyfried <stefan.seyfried@googlemail.com> wrote:
Hi,
since a few days (probably since the update to 2.6.37-rc), i'm getting those all the time when using my Bluetooth mouse:
[280835.709269] btusb_bulk_complete: hci0 urb ffff880078654f00 failed to resubmit (1)
Has this something to do with runtime power management? It seems like it's always 3 messages about 2 or 3 seconds after the last mouse movement.
And indeed, "echo on > /sys/bus/usb/drivers/btusb/4-2\:1.0/power/control" makes it go away. However, is this a good idea? And is "auto" for that feature a good idea if it leads to constant syslog spamming? Or are those "failed to resubmit" messages mere debug output and thus should not be logged at all unless some debugging option is chosen? -- Stefan Seyfried "Any ideas, John?" "Well, surrounding them's out." -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Tue, 30 Nov 2010, Stefan Seyfried wrote:
since a few days (probably since the update to 2.6.37-rc), i'm getting those all the time when using my Bluetooth mouse:
[280835.709269] btusb_bulk_complete: hci0 urb ffff880078654f00 failed to resubmit (1)
Has this something to do with runtime power management? It seems like it's always 3 messages about 2 or 3 seconds after the last mouse movement.
And indeed, "echo on > /sys/bus/usb/drivers/btusb/4-2\:1.0/power/control" makes it go away. However, is this a good idea? And is "auto" for that feature a good idea if it leads to constant syslog spamming? Or are those "failed to resubmit" messages mere debug output and thus should not be logged at all unless some debugging option is chosen?
Runtime power management has been turned on by default in 2.6.37-rc (it has been off by default in previous kernels) for btusb driver. So that's why you have not seen it with older kernels, and why turning autosuspend off fixes it again. Looks like the completion handler is run only after the device has been suspended already. Adding Oliver, who originally wrote the autosuspend support for this driver. Oliver, any immediate ideas? -- Jiri Kosina SUSE Labs, Novell Inc. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Am Dienstag, 30. November 2010, 11:18:05 schrieb Stefan Seyfried:
Or are those "failed to resubmit" messages mere debug output and thus should not be logged at all unless some debugging option is chosen?
If they are ever triggered by anything but autosuspend the device has just sopped working, so they were originally very justified. If autosuspend becomes default, they should be made into true debug output. Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Am Dienstag, 30. November 2010, 11:18:05 schrieb Stefan Seyfried:
On Tue, 30 Nov 2010 11:10:22 +0100 Stefan Seyfried <stefan.seyfried@googlemail.com> wrote:
Hi,
since a few days (probably since the update to 2.6.37-rc), i'm getting those all the time when using my Bluetooth mouse:
[280835.709269] btusb_bulk_complete: hci0 urb ffff880078654f00 failed to resubmit (1)
Has this something to do with runtime power management? It seems like it's always 3 messages about 2 or 3 seconds after the last mouse movement.
And indeed, "echo on > /sys/bus/usb/drivers/btusb/4-2\:1.0/power/control" makes it go away. However, is this a good idea? And is "auto" for that feature a good idea if it leads to constant syslog spamming? Or are those "failed to resubmit" messages mere debug output and thus should not be logged at all unless some debugging option is chosen? --
Hi, as no good dead goes unpunished, here's a patch to test. Thanks Oliver From 5667a03459b9b4b5cb33259115b57626bcc4ccf3 Mon Sep 17 00:00:00 2001 From: Oliver Neukum <oliver@neukum.org> Date: Tue, 30 Nov 2010 14:34:47 +0100 Subject: [PATCH] Bluetooth:btusb: Fix log spamming due to autosuspend If a device is autosuspend an inability to resubmit URBs is to be expected. Fix it by checking the error return. Signed-off-by: Oliver Neukum <oneukum@suse.de> --- drivers/bluetooth/btusb.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index ab3894f..eb2ca82 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -238,7 +238,7 @@ static void btusb_intr_complete(struct urb *urb) usb_anchor_urb(urb, &data->intr_anchor); err = usb_submit_urb(urb, GFP_ATOMIC); - if (err < 0) { + if (err < 0 && err != -EPERM) { BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb); @@ -322,7 +322,7 @@ static void btusb_bulk_complete(struct urb *urb) usb_mark_last_busy(data->udev); err = usb_submit_urb(urb, GFP_ATOMIC); - if (err < 0) { + if (err < 0 && err != -EPERM) { BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb); @@ -411,7 +411,7 @@ static void btusb_isoc_complete(struct urb *urb) usb_anchor_urb(urb, &data->isoc_anchor); err = usb_submit_urb(urb, GFP_ATOMIC); - if (err < 0) { + if (err < 0 && err != -EPERM) { BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb); -- 1.7.1 -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Tue, 30 Nov 2010 14:39:57 +0100 Oliver Neukum <oneukum@suse.de> wrote:
as no good dead goes unpunished, here's a patch to test.
No need to test, the patch is obviously wrong ;-) (I tested it anyway, just for fun, and it leads to 100% CPU usage and hard lockup shortly afterwards).
err = usb_submit_urb(urb, GFP_ATOMIC); - if (err < 0) { + if (err < 0 && err != -EPERM) { BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb);
you are forgetting the usb_unanchor_urb for the -EPERM case here. From 9cd3d383b5b172b78e7887b38f9b30acfb469d52 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried <seife+kernel@b1-systems.com> Date: Tue, 30 Nov 2010 17:46:23 +0100 Subject: [PATCH] btusb: Fix log spamming due to autosuspend If a device is autosuspended an inability to resubmit URBs is to be expected. Check the error code and only log real errors. Signed-off-by: Stefan Seyfried <seife+kernel@b1-systems.com> --- drivers/bluetooth/btusb.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index ab3894f..d323c1a 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -239,7 +239,8 @@ static void btusb_intr_complete(struct urb *urb) err = usb_submit_urb(urb, GFP_ATOMIC); if (err < 0) { - BT_ERR("%s urb %p failed to resubmit (%d)", + if (err != -EPERM) + BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb); } @@ -323,7 +324,8 @@ static void btusb_bulk_complete(struct urb *urb) err = usb_submit_urb(urb, GFP_ATOMIC); if (err < 0) { - BT_ERR("%s urb %p failed to resubmit (%d)", + if (err != -EPERM) + BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb); } @@ -412,7 +414,8 @@ static void btusb_isoc_complete(struct urb *urb) err = usb_submit_urb(urb, GFP_ATOMIC); if (err < 0) { - BT_ERR("%s urb %p failed to resubmit (%d)", + if (err != -EPERM) + BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb); } -- 1.7.3.1 -- Stefan Seyfried "Any ideas, John?" "Well, surrounding them's out."
Am Dienstag, 30. November 2010, 17:59:46 schrieb Stefan Seyfried:
On Tue, 30 Nov 2010 14:39:57 +0100 Oliver Neukum <oneukum@suse.de> wrote:
as no good dead goes unpunished, here's a patch to test.
No need to test, the patch is obviously wrong ;-) (I tested it anyway, just for fun, and it leads to 100% CPU usage and hard lockup shortly afterwards).
err = usb_submit_urb(urb, GFP_ATOMIC); - if (err < 0) { + if (err < 0 && err != -EPERM) { BT_ERR("%s urb %p failed to resubmit (%d)", hdev->name, urb, -err); usb_unanchor_urb(urb);
you are forgetting the usb_unanchor_urb for the -EPERM case here.
<censored>. Thank you. Please submit upstream. Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Tue, 30 Nov 2010 18:33:52 +0100 Oliver Neukum <oneukum@suse.de> wrote:
Am Dienstag, 30. November 2010, 17:59:46 schrieb Stefan Seyfried:
you are forgetting the usb_unanchor_urb for the -EPERM case here.
<censored>. Thank you. Please submit upstream.
Ok. I'll add your signed-off-by. Is Greg upstream or should this go through the bluetooth list? It "feels" rather urgent and the bluetooth list is usually a good way to slow things down to a crawl :-) -- Stefan Seyfried "Any ideas, John?" "Well, surrounding them's out." -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Am Dienstag, 30. November 2010, 20:48:09 schrieb Stefan Seyfried:
On Tue, 30 Nov 2010 18:33:52 +0100 Oliver Neukum <oneukum@suse.de> wrote:
Am Dienstag, 30. November 2010, 17:59:46 schrieb Stefan Seyfried:
you are forgetting the usb_unanchor_urb for the -EPERM case here.
<censored>. Thank you. Please submit upstream.
Ok. I'll add your signed-off-by. Is Greg upstream or should this go through the bluetooth list? It "feels" rather urgent and the bluetooth list is usually a good way to slow things down to a crawl :-)
You can try Greg. I am unsure whether he'll take it. Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Tue, Nov 30, 2010 at 09:00:17PM +0100, Oliver Neukum wrote:
Am Dienstag, 30. November 2010, 20:48:09 schrieb Stefan Seyfried:
On Tue, 30 Nov 2010 18:33:52 +0100 Oliver Neukum <oneukum@suse.de> wrote:
Am Dienstag, 30. November 2010, 17:59:46 schrieb Stefan Seyfried:
you are forgetting the usb_unanchor_urb for the -EPERM case here.
<censored>. Thank you. Please submit upstream.
Ok. I'll add your signed-off-by. Is Greg upstream or should this go through the bluetooth list? It "feels" rather urgent and the bluetooth list is usually a good way to slow things down to a crawl :-)
You can try Greg. I am unsure whether he'll take it.
It needs to go through the bluetooth maintainer, right? That's not me, sorry. greg k-h -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Tue, 30 Nov 2010, Greg KH wrote:
you are forgetting the usb_unanchor_urb for the -EPERM case here.
<censored>. Thank you. Please submit upstream.
Ok. I'll add your signed-off-by. Is Greg upstream or should this go through the bluetooth list? It "feels" rather urgent and the bluetooth list is usually a good way to slow things down to a crawl :-)
You can try Greg. I am unsure whether he'll take it.
It needs to go through the bluetooth maintainer, right? That's not me, sorry.
Unfortunately, Marcel (and Bluetooth tree as a whole) is not really the most lively entity on the earth these days, so to say. I'd suggest CCing Andrew Morton on it as well. He's likely to pick it up in case "normal" way through maintainer fails (which is very likely here). -- Jiri Kosina SUSE Labs, Novell Inc. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Am Dienstag, 30. November 2010, 11:10:22 schrieb Stefan Seyfried:
since a few days (probably since the update to 2.6.37-rc), i'm getting those all the time when using my Bluetooth mouse:
[280800.710274] btusb_intr_complete: hci0 urb ffff8800b553e980 failed to resubmit (1) [280800.711255] btusb_bulk_complete: hci0 urb ffff88003b01de40 failed to resubmit (1) [280800.712234] btusb_bulk_complete: hci0 urb ffff880130bae500 failed to resubmit (1) [280810.713221] btusb_intr_complete: hci0 urb ffff88012be0ce00 failed to resubmit (1) [280810.714203] btusb_bulk_complete: hci0 urb ffff8800532f9540 failed to resubmit (1) [280810.715209] btusb_bulk_complete: hci0 urb ffff88003b13af00 failed to resubmit (1) [280814.713273] btusb_intr_complete: hci0 urb ffff880045756d80 failed to resubmit (1) [280814.714293] btusb_bulk_complete: hci0 urb ffff880035d1bec0 failed to resubmit (1) [280814.715285] btusb_bulk_complete: hci0 urb ffff88003b13ac00 failed to resubmit (1) [280821.713412] btusb_intr_complete: hci0 urb ffff8801293cf0c0 failed to resubmit (1) [280821.714431] btusb_bulk_complete: hci0 urb ffff88003b13ac00 failed to resubmit (1) [280821.715432] btusb_bulk_complete: hci0 urb ffff880035d1bec0 failed to resubmit (1) [280835.707273] btusb_intr_complete: hci0 urb ffff8800a83a6c80 failed to resubmit (1) [280835.708233] btusb_bulk_complete: hci0 urb ffff8801292986c0 failed to resubmit (1) [280835.709269] btusb_bulk_complete: hci0 urb ffff880078654f00 failed to resubmit (1)
Has this something to do with runtime power management? It seems like it's always 3 messages about 2 or 3 seconds after the last mouse movement.
Most likely it is power management. I'll make a patch to remove them. Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
participants (4)
-
Greg KH
-
Jiri Kosina
-
Oliver Neukum
-
Stefan Seyfried