DM3730 + MUSB host mode + DMA + USB Ethernet dongle = Fail

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Thanks,
Tim

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux