> On Tue, Aug 5, 2008 at 11:48 PM, Gadiyar, Anand <[EMAIL PROTECTED]> wrote:
> > From: Anand Gadiyar <[EMAIL PROTECTED]>
> >
> > 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to