From: Alexey.Brodkin@synopsys.com (Alexey Brodkin)
To: linux-snps-arc@lists.infradead.org
Subject: ath9k-htc on OHCI -> bogus usb xfer
Date: Wed, 6 Jul 2016 07:44:19 +0000 [thread overview]
Message-ID: <1467790987.3086.15.camel@synopsys.com> (raw)
In-Reply-To: <577C041C.7080905@rempel-privat.de>
Hi?Oleksij,
On Tue, 2016-07-05@21:01 +0200, Oleksij Rempel wrote:
> Am 05.07.2016 um 19:31 schrieb Alexey Brodkin:
> >
> > Hi Oleksij,
> >
> > On Tue, 2016-07-05@19:23 +0200, Oleksij Rempel wrote:
> > >
> > > Hi,
> > >
> > > Am 05.07.2016 um 14:20 schrieb Alexey Brodkin:
> > > >
> > > >
> > > > Hello,
> > > >
> > > > Looks like this is another manifestation of already seen problem with ath9k-htc
> > > > and OHCI controller.
> > > >
> > > > I'm trying to get USB Wi-Fi dongle based on Atheros AR9271 to work with our
> > > > development board (this is Synopsys AXS103) and seeing a picture very similar to
> > > > what was discussed here http://thread.gmane.org/gmane.linux.usb.general/110847
> > > >
> > > > Below is what I see on insertion of the dongle.
> > > > Note I have the most recent ath9k-htc firmware (see "ath9k_htc/htc_9271-1.4.0.fw"
> > > > in the log below) and Linux kernel is 4.6.3 (latest stable as of today) but the same
> > > > happens even on 4.4.
> > > >
> > > > Interesting enough if I simply remove or disable the warning like that
> > > > ------------------------>8---------------------------
> > > > diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
> > > > index 3d27477..a317e1e 100644
> > > > --- a/drivers/usb/core/urb.c
> > > > +++ b/drivers/usb/core/urb.c
> > > > @@ -443,11 +443,6 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
> > > > ?????????* 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);
> > > > ------------------------>8---------------------------
> > > > everything seem to work quite nice.
> > > >
> > > > Any thoughts are much appreciated.
> > > >
> > > > That's the log itself:
> > > > ------------------------>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: 4 at drivers/usb/core/urb.c:450 usb_submit_urb+0x162/0x404
> > > > usb 1-1: BOGUS urb xfer, pipe 1 != type 3
> > > > Modules linked in:
> > > > CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 4.6.3 #10
> > > > Workqueue: events request_firmware_work_func
> > > >
> > > > Stack Trace:
> > > > ? arc_unwind_core.constprop.1+0x94/0x10c
> > > > ---[ end trace 2249b79eac9991d1 ]---
> > > > ------------[ cut here ]------------
> > > > WARNING: CPU: 0 PID: 4 at drivers/usb/core/urb.c:450 usb_submit_urb+0x162/0x404
> > > > usb 1-1: BOGUS urb xfer, pipe 1 != type 3
> > > > Modules linked in:
> > > > CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G????????W???????4.6.3 #10
> > > > Workqueue: events request_firmware_work_func
> > > >
> > > > Stack Trace:
> > > > ? arc_unwind_core.constprop.1+0x94/0x10c
> > > > ---[ end trace 2249b79eac9991d2 ]---
> > > > ------------[ cut here ]------------
> > > > WARNING: CPU: 0 PID: 4 at drivers/usb/core/urb.c:450 usb_submit_urb+0x162/0x404
> > > > usb 1-1: BOGUS urb xfer, pipe 1 != type 3
> > > > Modules linked in:
> > > > CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G????????W???????4.6.3 #10
> > > > Workqueue: events request_firmware_work_func
> > > >
> > > > Stack Trace:
> > > > ? arc_unwind_core.constprop.1+0x94/0x10c
> > > > ---[ end trace 2249b79eac9991d3 ]---
> > > >
> > > please send content of hif_usb_send_regout() from your source code.
> > > It is located in drivers/net/wireless/ath/ath9k/hif_usb.c
> > I use vanilla 4.6.3 tree so that's what I have is the same as
> > http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/ath/ath9k/hif_usb.c?h=
> > linu
> > x-4.6.y#n99
>
> Interesting.
> Can you please send lsusb -v for this adapter?
See below:
-------------------------->8---------------------------
# lsusb -v
Bus 002 Device 002: ID 0cf3:9271??
Device Descriptor:
? bLength????????????????18
? bDescriptorType?????????1
? bcdUSB???????????????2.00
? bDeviceClass??????????255?
? bDeviceSubClass???????255?
? bDeviceProtocol???????255?
? bMaxPacketSize0????????64
? idVendor???????????0x0cf3?
? idProduct??????????0x9271?
? bcdDevice????????????1.08
? iManufacturer??????????16 ATHEROS
? iProduct???????????????32 USB2.0 WLAN
? iSerial????????????????48 12345
? bNumConfigurations??????1
? Configuration Descriptor:
????bLength?????????????????9
????bDescriptorType?????????2
????wTotalLength???????????60
????bNumInterfaces??????????1
????bConfigurationValue?????1
????iConfiguration??????????0?
????bmAttributes?????????0x80
??????(Bus Powered)
????MaxPower??????????????500mA
????Interface Descriptor:
??????bLength?????????????????9
??????bDescriptorType?????????4
??????bInterfaceNumber????????0
??????bAlternateSetting???????0
??????bNumEndpoints???????????6
??????bInterfaceClass???????255?
??????bInterfaceSubClass??????0?
??????bInterfaceProtocol??????0?
??????iInterface??????????????0?
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x01??EP 1 OUT
????????bmAttributes????????????2
??????????Transfer Type????????????Bulk
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0040??1x 64 bytes
????????bInterval???????????????0
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x82??EP 2 IN
????????bmAttributes????????????2
??????????Transfer Type????????????Bulk
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0040??1x 64 bytes
????????bInterval???????????????0
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x83??EP 3 IN
????????bmAttributes????????????3
??????????Transfer Type????????????Interrupt
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0040??1x 64 bytes
????????bInterval???????????????1
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x04??EP 4 OUT
????????bmAttributes????????????2
??????????Transfer Type????????????Bulk
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0040??1x 64 bytes
????????bInterval???????????????0
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x05??EP 5 OUT
????????bmAttributes????????????2
??????????Transfer Type????????????Bulk
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0040??1x 64 bytes
????????bInterval???????????????0
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x06??EP 6 OUT
????????bmAttributes????????????2
??????????Transfer Type????????????Bulk
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0040??1x 64 bytes
????????bInterval???????????????0
Device Qualifier (for other device speed):
? bLength????????????????10
? bDescriptorType?????????6
? bcdUSB???????????????2.00
? bDeviceClass??????????255?
? bDeviceSubClass???????255?
? bDeviceProtocol???????255?
? bMaxPacketSize0????????64
? bNumConfigurations??????1
can't get debug descriptor: Resource temporarily unavailable
Device Status:?????0x0000
? (Bus Powered)
Bus 002 Device 001: ID 1d6b:0001??
Device Descriptor:
? bLength????????????????18
? bDescriptorType?????????1
? bcdUSB???????????????1.10
? bDeviceClass????????????9?
? bDeviceSubClass?????????0?
? bDeviceProtocol?????????0?
? bMaxPacketSize0????????64
? idVendor???????????0x1d6b?
? idProduct??????????0x0001?
? bcdDevice????????????4.06
? iManufacturer???????????3 Linux 4.6.3 ohci_hcd
? iProduct????????????????2 Generic Platform OHCI controller
? iSerial?????????????????1 e0060000.ohci
? bNumConfigurations??????1
? Configuration Descriptor:
????bLength?????????????????9
????bDescriptorType?????????2
????wTotalLength???????????25
????bNumInterfaces??????????1
????bConfigurationValue?????1
????iConfiguration??????????0?
????bmAttributes?????????0xe0
??????Self Powered
??????Remote Wakeup
????MaxPower????????????????0mA
????Interface Descriptor:
??????bLength?????????????????9
??????bDescriptorType?????????4
??????bInterfaceNumber????????0
??????bAlternateSetting???????0
??????bNumEndpoints???????????1
??????bInterfaceClass?????????9?
??????bInterfaceSubClass??????0?
??????bInterfaceProtocol??????0?
??????iInterface??????????????0?
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x81??EP 1 IN
????????bmAttributes????????????3
??????????Transfer Type????????????Interrupt
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0002??1x 2 bytes
????????bInterval?????????????255
Hub Descriptor:
? bLength???????????????9
? bDescriptorType??????41
? nNbrPorts?????????????1
? wHubCharacteristic 0x0002
????No power switching (usb 1.0)
????Ganged overcurrent protection
? bPwrOn2PwrGood????????2 * 2 milli seconds
? bHubContrCurrent??????0 milli Ampere
? DeviceRemovable????0x00
? PortPwrCtrlMask????0xff
?Hub Port Status:
???Port 1: 0000.0103 power enable connect
can't get debug descriptor: Resource temporarily unavailable
Device Status:?????0x0001
? Self Powered
Bus 001 Device 001: ID 1d6b:0002??
Device Descriptor:
? bLength????????????????18
? bDescriptorType?????????1
? bcdUSB???????????????2.00
? bDeviceClass????????????9?
? bDeviceSubClass?????????0?
? bDeviceProtocol?????????0?
? bMaxPacketSize0????????64
? idVendor???????????0x1d6b?
? idProduct??????????0x0002?
? bcdDevice????????????4.06
? iManufacturer???????????3 Linux 4.6.3 ehci_hcd
? iProduct????????????????2 EHCI Host Controller
? iSerial?????????????????1 e0040000.ehci
? bNumConfigurations??????1
? Configuration Descriptor:
????bLength?????????????????9
????bDescriptorType?????????2
????wTotalLength???????????25
????bNumInterfaces??????????1
????bConfigurationValue?????1
????iConfiguration??????????0?
????bmAttributes?????????0xe0
??????Self Powered
??????Remote Wakeup
????MaxPower????????????????0mA
????Interface Descriptor:
??????bLength?????????????????9
??????bDescriptorType?????????4
??????bInterfaceNumber????????0
??????bAlternateSetting???????0
??????bNumEndpoints???????????1
??????bInterfaceClass?????????9?
??????bInterfaceSubClass??????0?
??????bInterfaceProtocol??????0?
??????iInterface??????????????0?
??????Endpoint Descriptor:
????????bLength?????????????????7
????????bDescriptorType?????????5
????????bEndpointAddress?????0x81??EP 1 IN
????????bmAttributes????????????3
??????????Transfer Type????????????Interrupt
??????????Synch Type???????????????None
??????????Usage Type???????????????Data
????????wMaxPacketSize?????0x0004??1x 4 bytes
????????bInterval??????????????12
Hub Descriptor:
? bLength???????????????9
? bDescriptorType??????41
? nNbrPorts?????????????1
? wHubCharacteristic 0x0009
????Per-port power switching
????Per-port overcurrent protection
? bPwrOn2PwrGood???????10 * 2 milli seconds
? bHubContrCurrent??????0 milli Ampere
? DeviceRemovable????0x00
? PortPwrCtrlMask????0xff
?Hub Port Status:
???Port 1: 0000.0100 power
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:?????0x0001
? Self Powered
-------------------------->8---------------------------
> and it will be
> interesting to see, which usb endpoint was actualy used.
Any hints on how may I get this information?
-Alexey
next prev parent reply other threads:[~2016-07-06 7:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-05 12:20 ath9k-htc on OHCI -> bogus usb xfer Alexey Brodkin
2016-07-05 17:23 ` Oleksij Rempel
2016-07-05 17:31 ` Alexey Brodkin
2016-07-05 19:01 ` Oleksij Rempel
2016-07-06 7:44 ` Alexey Brodkin [this message]
2016-07-06 8:24 ` fixed-term.Oleksij.Rempel
2016-07-06 8:32 ` Alexey Brodkin
2016-07-06 8:38 ` fixed-term.Oleksij.Rempel
2016-07-06 8:45 ` Alexey Brodkin
2016-07-06 9:09 ` fixed-term.Oleksij.Rempel
2016-07-06 9:30 ` Alexey Brodkin
2016-07-06 10:32 ` fixed-term.Oleksij.Rempel
2016-07-07 5:16 ` Alexey Brodkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1467790987.3086.15.camel@synopsys.com \
--to=alexey.brodkin@synopsys.com \
--cc=linux-snps-arc@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).