You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.7 KiB
77 lines
2.7 KiB
![]()
7 years ago
|
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||
|
Subject: usb: Remove annoying warning about bogus URB
|
||
|
|
||
|
When ath9k-htc Wi-Fi dongle is used with generic OHCI controller
|
||
|
infinite stream of warnings appears in debug console like this:
|
||
|
-------------------------->8----------------------
|
||
|
usb 1-1: new full-speed USB device number 2 using ohci-platform
|
||
|
usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
|
||
|
usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size:
|
||
|
51008
|
||
|
------------[ cut here ]------------
|
||
|
WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
|
||
|
usb_submit_urb+0x1b4/0x498()
|
||
|
usb 1-1: BOGUS urb xfer, pipe 1 != type 3
|
||
|
Modules linked in:
|
||
|
CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted
|
||
|
4.4.0-rc4-00017-g00e2d79-dirty #3
|
||
|
Workqueue: events request_firmware_work_func
|
||
|
|
||
|
Stack Trace:
|
||
|
arc_unwind_core.constprop.1+0xa4/0x110
|
||
|
---[ end trace 649ef8c342817fc2 ]---
|
||
|
------------[ cut here ]------------
|
||
|
WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
|
||
|
usb_submit_urb+0x1b4/0x498()
|
||
|
usb 1-1: BOGUS urb xfer, pipe 1 != type 3
|
||
|
Modules linked in:
|
||
|
CPU: 0 PID: 19 Comm: kworker/0:1 Tainted: G W
|
||
|
4.4.0-rc4-00017-g00e2d79-dirty #3
|
||
|
Workqueue: events request_firmware_work_func
|
||
|
|
||
|
Stack Trace:
|
||
|
arc_unwind_core.constprop.1+0xa4/0x110
|
||
|
---[ end trace 649ef8c342817fc3 ]---
|
||
|
------------[ cut here ]------------
|
||
|
-------------------------->8----------------------
|
||
|
|
||
|
There're some discussions in mailing lists proposing to disable
|
||
|
that particular check alltogether and magically all seem to work
|
||
|
fine with muted warning.
|
||
|
|
||
|
Anyways new thread on that regard could be found here:
|
||
|
http://lists.infradead.org/pipermail/linux-snps-arc/2016-July/001310.html
|
||
|
|
||
|
Let's see what comes out of that new discussion, hopefully patching
|
||
|
of generic USB stuff won't be required then.
|
||
|
|
||
|
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||
|
---
|
||
|
drivers/usb/core/urb.c | 5 -----
|
||
|
1 file changed, 5 deletions(-)
|
||
|
|
||
|
--- a/drivers/usb/core/urb.c
|
||
|
+++ b/drivers/usb/core/urb.c
|
||
|
@@ -326,9 +326,6 @@ EXPORT_SYMBOL_GPL(usb_unanchor_urb);
|
||
|
*/
|
||
|
int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
|
||
|
{
|
||
|
- static int pipetypes[4] = {
|
||
|
- PIPE_CONTROL, PIPE_ISOCHRONOUS, PIPE_BULK, PIPE_INTERRUPT
|
||
|
- };
|
||
|
int xfertype, max;
|
||
|
struct usb_device *dev;
|
||
|
struct usb_host_endpoint *ep;
|
||
|
@@ -443,11 +440,6 @@ int usb_submit_urb(struct urb *urb, gfp_
|
||
|
* cause problems in HCDs if they get it wrong.
|
||
|
*/
|
||
|
|
||
|
- /* Check that the pipe's type matches the endpoint's type */
|
||
|
- if (usb_pipetype(urb->pipe) != pipetypes[xfertype])
|
||
|
- dev_WARN(&dev->dev, "BOGUS urb xfer, pipe %x != type %x\n",
|
||
|
- usb_pipetype(urb->pipe), pipetypes[xfertype]);
|
||
|
-
|
||
|
/* Check against a simple/standard policy */
|
||
|
allowed = (URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT | URB_DIR_MASK |
|
||
|
URB_FREE_BUFFER);
|