Hi,

John Youn <[email protected]> writes:
> On 10/12/2015 12:25 PM, Felipe Balbi wrote:
>> This reverts commit 70f3a9caa11665e9f9aace581d85d8483716a4c8.
>> 
>> That commit was causing a lockdep splat with g_ether and that
>> was interfering with proper functionality.
>> 
>> Signed-off-by: Felipe Balbi <[email protected]>
>> ---
>>  drivers/usb/dwc3/gadget.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>> 
>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>> index cca806e09e5b..81bfb9ad1e2e 100644
>> --- a/drivers/usb/dwc3/gadget.c
>> +++ b/drivers/usb/dwc3/gadget.c
>> @@ -2642,15 +2642,16 @@ static irqreturn_t dwc3_process_event_buf(struct 
>> dwc3 *dwc, u32 buf)
>>  static irqreturn_t dwc3_thread_interrupt(int irq, void *_dwc)
>>  {
>>      struct dwc3 *dwc = _dwc;
>> +    unsigned long flags;
>>      irqreturn_t ret = IRQ_NONE;
>>      int i;
>>  
>> -    spin_lock(&dwc->lock);
>> +    spin_lock_irqsave(&dwc->lock, flags);
>>  
>>      for (i = 0; i < dwc->num_event_buffers; i++)
>>              ret |= dwc3_process_event_buf(dwc, i);
>>  
>> -    spin_unlock(&dwc->lock);
>> +    spin_unlock_irqrestore(&dwc->lock, flags);
>>  
>>      return ret;
>>  }
>> 
>
> Hi Felipe,
>
> This seems related to a problem we've been tracking down the past
> few days. This commit, 70f3a9ca, and commit a66c275b both cause
> regression on one of our systems running mass-storage gadget.

I can't see how a66c275b could cause any issues. Our top half runs in
hardirq context with IRQs disabled; this has been discussed several times.

> a66c275b was introduced first, and until 70f3a9ca is introduced
> if we revert just that, it works fine. 70f3a9ca causes similar
> issues. So we must revert both in order to get back to a working
> state.
>
> Failure happens during enumeration and appears to be a race
> condition in the event handling.
>
> Attached are driver logs/traces for the failure with a66c275b.

All I see is a bunch of Start Transfer commands which failed. That's
odd. Which version of the core are you using ? Dwc3 or dwc31 ?

-- 
balbi

Attachment: signature.asc
Description: PGP signature

Reply via email to