From ad718dac47501b78cbe4faccad330ca205e51806 Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Tue, 26 May 2020 22:16:41 -0700 Subject: [PATCH] usb: dwc3: gadget: Rate limit ep_queue() error message In case of a soft disconnect the controller will be halted via dwc3_gadget_run_stop(). However, a function driver might be unaware of this and could still be continuing to call usb_ep_queue() in a different process. Since pullups_connected is false, this results in a dev_err() to be printed and could happen quite frequently before the function's disconnect or unbind callbacks are finally notified. Rate limit this error message to avoid flooding the kernel log. Change-Id: If5299cdfd7eee13bb51a8cf29917d9674d0a7c9b Signed-off-by: Jack Pham --- drivers/usb/dwc3/ep0.c | 2 +- drivers/usb/dwc3/gadget.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index fb81ba9b365e..184bd89afeed 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -199,7 +199,7 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request, spin_lock_irqsave(&dwc->lock, flags); if (!dep->endpoint.desc || !dwc->pullups_connected || !dwc->vbus_active) { - dev_err(dwc->dev, "%s: can't queue to disabled endpoint\n", + dev_err_ratelimited(dwc->dev, "%s: can't queue to disabled endpoint\n", dep->name); ret = -ESHUTDOWN; goto out; diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 8c7ff5fee260..e99806d537f2 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1554,7 +1554,7 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) struct dwc3 *dwc = dep->dwc; if (!dep->endpoint.desc || !dwc->pullups_connected) { - dev_err(dwc->dev, "%s: can't queue to disabled endpoint\n", + dev_err_ratelimited(dwc->dev, "%s: can't queue to disabled endpoint\n", dep->name); return -ESHUTDOWN; }