sb: dwc3: gadget: synchronize_irq dwc irq in suspend

[ Upstream commit 01c10880d2 ]

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.

origin-CRs: (CR)

Change-Id: Ice15ecc8286f417a95935ad3bf3368f2a71ae736
Signed-off-by: Bo He <bo.he@intel.com>
Signed-off-by: Yu Wang <yu.y.wang@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Reviewed-on: https://gerrit.mot.com/1373264
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1379348
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Reviewed-on: https://gerrit.mot.com/1449150
Reviewed-on: https://gerrit.mot.com/1751270
Reviewed-by: Zonghua Liu <a17671@motorola.com>
Reviewed-by: Yuecai Liu <liuyc20@motorola.com>
Reviewed-on: https://gerrit.mot.com/1785340
This commit is contained in:
Bo He 2019-01-14 09:48:32 +02:00 • committed by Xiaojun Ji
commit 6de14ba6a9

View file

@ -4545,6 +4545,8 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
dwc3_disconnect_gadget(dwc);
__dwc3_gadget_stop(dwc);
synchronize_irq(dwc->irq_gadget);
return 0;
}