Re: [PATCH] usb: musb: core: Disable the Interrupts till BABBLE is fully handled

From: Felipe Balbi
Date: Mon Nov 24 2014 - 20:09:41 EST


On Mon, Nov 24, 2014 at 09:56:28PM +0100, Sebastian Andrzej Siewior wrote:
> On 11/24/2014 09:39 PM, Peter Stuge wrote:
> > Felipe Balbi wrote:
> >>>> A babble only occurs when
> >>>> the device side tries to move data without the host asking for anything.
> >>>
> >>> It also occurs if the device moves more than packet_size bytes. Not
> >>> really helping, I knowâ
> >>
> >> hmm, why would the device move more than wMaxPacketSize at a time ?
> >
> > Some devices are buggy.
>
> for instance if the device comes out of resume and the clock is not yet
> stable but the device sends data. That is not the case here, but an
> example :)

that would be a bug on clk driver, it shouldn't return control to the
user until clk *is* stable :-)

> I *think* for some reason the host did not really receive ep0
> set_config request as planned. And device's answer is probably then
> interpreted as data which is not expected (as Felipe said "device side
> tries to move data without the host asking for anything").

that's definitely a bug, unfortunately I can't think of any Erratum
right now.

> >> That's certainly babble :-)
> >
> > Certainly! But musb shouldn't fall over or lock up because of it,
> > should it?
>
> No and the patch fixes the issue. The strange thing is that it only
> happens on the same device. Not if you connect host<->device with two
> boards.

probably some crap going on within the interconnect when both instances
are used.

--
balbi

Attachment: signature.asc
Description: Digital signature