From: Christian Lamparter <chunkeey@googlemail.com>
To: Alan Stern <stern@rowland.harvard.edu>, linux-wireless@vger.kernel.org
Cc: Seth Forshee <seth.forshee@canonical.com>,
USB list <linux-usb@vger.kernel.org>,
Sarah Sharp <sarah.a.sharp@linux.intel.com>
Subject: Re: carl9170 A-MPDU transmit problem
Date: Mon, 25 Feb 2013 17:03:40 +0100 [thread overview]
Message-ID: <201302251703.40801.chunkeey@googlemail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1302251024200.1526-100000@iolanthe.rowland.org>
On Monday, February 25, 2013 04:29:55 PM Alan Stern wrote:
> On Mon, 25 Feb 2013, Christian Lamparter wrote:
> > > In fact this is both normal and required. Packets to any particular
> > > endpoint must always be delivered in order. Therefore the URBs have
> > > to complete in the same order as they were submitted.
> > Yes, I know that ;). I guess I should have said: "It's strange that
> > after such a long silence the urb tx trigger at 1519981417 seemd to
> > unfreeze the pending urb. It's almost as if a urb completion event
> > was lost and the urb_complete just had to wait until another tx urb
> > on the same ep went by to free it.
>
> That's quite possible. The new URB may trigger something in the
> xhci-hcd driver or in the xHCI hardware. Sarah (CC'ed), the maintainer
> for xhci-hcd, is the person who would know best.
Thanks (Hello Sarah).
One detail that might be important (to keep in mind):
Original report <http://www.spinics.net/lists/linux-wireless/msg103880.html>:
> On the air everything seems to go smoothly for a while, but
> then the D-Link adapter stops transmitting *DATA* frames for a while. [...]
> Eventually it sends the action frame with the *DELBA* request, but
> immediately before sending the action frame it sends a single *DATA*
> frame (1). This pattern repeats each time this happens.
Now if we take this and apply it to the usbmon recording in:
<http://www.spinics.net/lists/linux-wireless/msg103915.html>
> Normally the time between submission and callback for a given urb
> is short. However, some are much longer, e.g.:
>
>ffff88012fe19500 1519981417 S Bo:3:003:1 -115 126 = 7e000000 ... <-- DATA
>
> [... long period where the device receives commands on EP4 and sends
> wifi data to the host via EP2 - so it is working!]
>
>ffff880146c8af00 1522200650 S Bo:3:003:1 -115 62 = 3e000000 ... <-- DELBA
>ffff88012fe19500 1522200720 C Bo:3:003:1 0 126 > <-- DATA urb completion
>ffff880146c8af00 1522200756 C Bo:3:003:1 0 62 > <-- DELBA urb completion
It would mean that the (delayed) urb with the *DATA* frame urb was not
sent (?or received?) by the usb dongle until the *DELBA* came along (1)
and triggered the TX for both (in quick succession). So, I think we
should be looking for lost/unhandled interrupts/events.
One more thing: So far this issue only occurs with:
00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04) (prog-if 30 [XHCI])
However, it not all xhci-hcd are affected. I have not seen this with
the NEC Corporation uPD720200 I have in my sandy bridge laptop:
19:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 04)
Regards,
Chr
next prev parent reply other threads:[~2013-02-25 16:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-22 20:50 carl9170 A-MPDU transmit problem Seth Forshee
2013-02-22 22:07 ` Christian Lamparter
2013-02-22 22:54 ` Seth Forshee
2013-02-22 23:48 ` Christian Lamparter
2013-02-23 6:46 ` Seth Forshee
2013-02-23 14:07 ` Christian Lamparter
2013-02-23 21:26 ` Alan Stern
2013-02-24 4:52 ` Seth Forshee
2013-02-24 15:54 ` Alan Stern
2013-02-24 22:30 ` Christian Lamparter
2013-02-24 23:41 ` Alan Stern
2013-02-25 14:51 ` Seth Forshee
2013-02-25 15:04 ` Christian Lamparter
2013-02-25 15:29 ` Alan Stern
2013-02-25 16:03 ` Christian Lamparter [this message]
2013-02-25 19:13 ` Sarah Sharp
2013-02-25 19:46 ` Seth Forshee
2013-02-25 19:52 ` Christian Lamparter
2013-02-25 20:19 ` Alan Stern
2013-02-25 23:30 ` Christian Lamparter
2013-02-26 16:50 ` Seth Forshee
2013-03-07 17:46 ` Seth Forshee
2013-03-07 23:37 ` Sarah Sharp
2013-02-25 22:42 ` Seth Forshee
2013-02-25 20:23 ` Seth Forshee
2013-02-25 14:44 ` Seth Forshee
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=201302251703.40801.chunkeey@googlemail.com \
--to=chunkeey@googlemail.com \
--cc=linux-usb@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=sarah.a.sharp@linux.intel.com \
--cc=seth.forshee@canonical.com \
--cc=stern@rowland.harvard.edu \
/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).