Hi Felipe, On 2019-01-28 14:30, Felipe Balbi wrote: > Marek Szyprowski <[email protected]> writes: >> On 2019-01-14 09:30, Felipe Balbi wrote: >>> From: Bo He <[email protected]> >>> >>> 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 <[email protected]> >>> Signed-off-by: Yu Wang <[email protected]> >>> Signed-off-by: Felipe Balbi <[email protected]> >> 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
