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.
78 lines
2.8 KiB
78 lines
2.8 KiB
From f13ad28ba4280d2283ca2b49f0bd384bc51e6a68 Mon Sep 17 00:00:00 2001
|
|
From: Alexey Brodkin <abrodkin@synopsys.com>
|
|
Date: Tue, 5 Jul 2016 14:28:31 +0300
|
|
Subject: [PATCH] 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
|
|
@@ -321,9 +321,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;
|
|
@@ -441,11 +438,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);
|
|
|