Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16750776 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents 87ff01a7 ad8d260c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;
}