RE: [PATCH RFC] MUSB: Fix index register corruption seen with g_ether and Windows host

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

 



> On Tue, Aug 5, 2008 at 11:48 PM, Gadiyar, Anand <gadiyar@xxxxxx> wrote:
> > From: Anand Gadiyar <gadiyar@xxxxxx>
> >
> > If Indexed Mode register accesses are enabled, the ep0_rxstate() function calls
> > musb_g_ep0_giveback() before writing to the CSR register. When control returns
> > to this ep0_rxstate, the index register contents are over-written. This causes
> > the CSR register write to fail.
> >
> > Fixed by writing the correct value into the index register before
> > writing to the CSR.
> >
> > This was observed only in ep0_rxstate() with g_ether loaded and the device
> > connected to a MS Windows host PC. Anticipatively fixed ep0_txstate() as well.
> >
>
> Actually, I'm still struggling in a bug similar with this one on Blackfin.
> We ran following testcase 100 times, 10-20 times tastcases failed.
>
> ---
> $ ./testusb -D /proc/bus/usb/005/012 -t14 -c 15000 -s 256 -v 1
> unknown speed   /proc/bus/usb/005/012
> /proc/bus/usb/005/012 test 14 --> 75 (Value too large for defined data type)
> ---
>
> I reported this bug to our hardware designer and the omap list. Felipe
> said he did met this issue.
> From the capture data of USB analyzer, the peripheral musb sent out
> garbage data in the IN-STATUS stage.
> In that stage, the DATA length should be zero. But the peripheral sent
> out 1 byte or 2 bytes sometimes.
>
> Thanks
> -Bryan

Hi Bryan,

Could you tell me if you're using Indexed Mode or Flat mode?

I'll try this out on my boards and see what I get.

- Anand
--
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