Re: [PATCH] usb: dwc3: gadget: synchronize_irq dwc irq in suspend

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

 



Hi Felipe,

On 2019-01-28 14:30, Felipe Balbi wrote:
> Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> writes:
>> On 2019-01-14 09:30, Felipe Balbi wrote:
>>> From: Bo He <bo.he@xxxxxxxxx>
>>>
>>> We see dwc3 endpoint stopped by unwanted irq during
>>> suspend resume test, which is caused dwc3 ep can't be started
>>> with error "No Resource".
>>>
>>> Here, add synchronize_irq before suspend to sync the
>>> pending IRQ handlers complete.
>>>
>>> Signed-off-by: Bo He <bo.he@xxxxxxxxx>
>>> Signed-off-by: Yu Wang <yu.y.wang@xxxxxxxxx>
>>> Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>
>> This patch causes following kernel BUG on Samsung Exynos based platforms
>> during system suspend/resume cycle:
> are you calling ->suspend() from ->suspend_noirq() time? Are we not
> allowed to call synchronize_irq() during ->suspend()?

dwc3_suspend_common() calls dwc3_gadget_suspend() with dwc->lock
spinlock held. This is not the proper context for calling sleeping
functions like synchronize_irq().

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux