forked from Minki/linux
usb: musb: Disable interrupts on suspend, enable them on resume
In certain situations, an interrupt triggers on resume, before musb_start() has been called. This has been observed to cause enumeration issues after suspend/resume cycles with AM335x. Signed-off-by: Pascal Huerst <pascal.huerst@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
6527cc2776
commit
6fc6f4b87c
@ -2449,6 +2449,9 @@ static int musb_suspend(struct device *dev)
|
||||
struct musb *musb = dev_to_musb(dev);
|
||||
unsigned long flags;
|
||||
|
||||
musb_platform_disable(musb);
|
||||
musb_generic_disable(musb);
|
||||
|
||||
spin_lock_irqsave(&musb->lock, flags);
|
||||
|
||||
if (is_peripheral_active(musb)) {
|
||||
@ -2502,6 +2505,9 @@ static int musb_resume(struct device *dev)
|
||||
pm_runtime_disable(dev);
|
||||
pm_runtime_set_active(dev);
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
musb_start(musb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user