Linux on ARM based TI OMAP SoCs
 help / color / mirror / Atom feed
From: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
To: Tim Nordell <tim.nordell-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.org>
Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: DM3730 + MUSB host mode + DMA + USB Ethernet dongle = Fail
Date: Thu, 7 May 2015 09:06:06 -0700	[thread overview]
Message-ID: <20150507160606.GB15563@atomide.com> (raw)
In-Reply-To: <554AA11B.9040909-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.org>

* Tim Nordell <tim.nordell-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.org> [150506 16:19]:
> Hi all -
> 
> I'm running kernel v3.19 (although I've tried v4.1-rc2's version of the MUSB
> code) on a DM3730 processor.  I'm running into an issue where if I enable
> MUSB Inventra DMA, plug in a USB Ethernet Dongle, and run iperf between the
> dongle and a PC, the MUSB driver stops working.  I get the following in my
> kernel log, twice back-to-back:
> 
>     musb_host_rx 1762: Rx interrupt with no errors or packet!
> 
> Any ideas?
> 
> The test above works in PIO mode, but I'd like to reduce the system CPU
> usage of the driver by using DMA.  I'm using a ASIX AX88772B Ethernet
> dongle, although, this shouldn't impact the error above.  I also tried
> re-reading the RXCSR register immediately after the error printout above,
> and the immediate subsequent time it contains the bit the driver is looking
> for.  I tried nesting the check so that if the bit the driver is looking for
> is set with an immediate subsequent read that it would continue past it, but
> it still keels over (albeit lasting maybe a second longer).
> 
> Something about this feels race conditiony too.  Depending on the kernel
> configuration options in the kernel debug menu (which slows down other parts
> of the kernel), or if I enable verbose debug message output from the MUSB
> driver, it lasts much, much longer before keeling over as a system.  You can
> restore normal behavior by unplugging/replugging in the device.

This sounds like some issue dealing with certain size transfers where
there's data remaining after a DMA transfer. You might be able to make
it easily reproducable with a variable size ping from your PC even with
debugging enabled. Something like the script below.

Regards,

Tony

8< --------------
#!/bin/bash

device=$1
size=$2

while [ 1 ]; do
	#echo "Pinging with size $size"
	if ! ping -w0 -c1 $device -s$size > /dev/null 2>&1; then
		break;
	fi
	size=$(expr $SIZE + 1)

	if [ $size -gt 8192 ]; then
		size=1
	fi
done

echo "Test ran up to $size"
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-05-07 16:06 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-06 23:17 DM3730 + MUSB host mode + DMA + USB Ethernet dongle = Fail Tim Nordell
     [not found] ` <554AA11B.9040909-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.org>
2015-05-07 16:06   ` Tony Lindgren [this message]
     [not found]     ` <20150507160606.GB15563-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-05-07 16:16       ` Felipe Balbi
     [not found]         ` <20150507161656.GB29183-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-05-07 18:17           ` Tim Nordell
     [not found]             ` <554BAC48.2050406-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.org>
2015-05-07 21:07               ` Chan-Taek Park
     [not found]                 ` <CAPM0aKVSJfyBj-FzdTDC+PFmHOmch39F26OF_0CzK5a704AVpA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-07 21:21                   ` Bin Liu
     [not found]                     ` <CADYTM3YGgm9b+vpxH8jJk41Cc9no=-pPydfHQsvR1FehbRCTxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-07 21:26                       ` Tim Nordell
2015-05-07 21:41                         ` Tim Nordell
2015-05-07 22:12                           ` Tim Nordell
2015-05-08 18:24                             ` Tim Nordell
     [not found]                               ` <554CFF6E.9020208-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.org>
2015-05-08 21:11                                 ` Ruslan Bilovol

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=20150507160606.GB15563@atomide.com \
    --to=tony-4v6ys6ai5vpbdgjk7y7tuq@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tim.nordell-L+YfUVVR8+RBDgjK7y7TUQ@public.gmane.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