Merge "usb: dwc3: gadget: Check controller status with endpoint enable/disable"

This commit is contained in:
qctecmdr 2020-07-30 11:23:56 -07:00 • committed by Gerrit - the friendly Code Review server
commit 167507760d

View file

@ -918,6 +918,12 @@ static int dwc3_gadget_ep_enable(struct usb_ep *ep,
dep->name))
return 0;
if (pm_runtime_suspended(dwc->sysdev)) {
dev_err(dwc->dev, "fail ep_enable %s device is into LPM\n",
dep->name);
return -EINVAL;
}
spin_lock_irqsave(&dwc->lock, flags);
ret = __dwc3_gadget_ep_enable(dep, DWC3_DEPCFG_ACTION_INIT);
dbg_event(dep->number, "ENABLE", ret);
@ -946,10 +952,13 @@ static int dwc3_gadget_ep_disable(struct usb_ep *ep)
dep->name))
return 0;
pm_runtime_get_sync(dwc->dev);
spin_lock_irqsave(&dwc->lock, flags);
ret = __dwc3_gadget_ep_disable(dep);
dbg_event(dep->number, "DISABLE", ret);
spin_unlock_irqrestore(&dwc->lock, flags);
pm_runtime_mark_last_busy(dwc->dev);
pm_runtime_put_sync_autosuspend(dwc->dev);
return ret;
}