drivers/usb/dwc3/ep0.c | 3 +++ drivers/usb/dwc3/gadget.c | 3 +++ 2 files changed, 6 insertions(+)
In cases where the controller somehow fails to write to event buffer
memory (e.g. due to incorrect MMU config), the driver would receive
all-zero dwc3 events. However, the abnormal event is silently dropped
as a regular ep0out event.
Add error logs when an unknown endpoint event is received to highlight
the anomaly.
Signed-off-by: Roy Luo <royluo@google.com>
---
drivers/usb/dwc3/ep0.c | 3 +++
drivers/usb/dwc3/gadget.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index 953b752a5052..b94243237293 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -1207,5 +1207,8 @@ void dwc3_ep0_interrupt(struct dwc3 *dwc,
dep->flags &= ~DWC3_EP_TRANSFER_STARTED;
}
break;
+ default:
+ dev_err(dwc->dev, "unknown endpoint event %d\n", event->endpoint_event);
+ break;
}
}
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index c0ca4d12f95d..7163d5d0eea0 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -3803,6 +3803,9 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
break;
case DWC3_DEPEVT_RXTXFIFOEVT:
break;
+ default:
+ dev_err(dwc->dev, "unknown endpoint event %d\n", event->endpoint_event);
+ break;
}
}
base-commit: c8c655c34e33544aec9d64b660872ab33c29b5f1
--
2.40.1.495.gc816e09b53d-goog
On Thu, May 04, 2023, Roy Luo wrote: > In cases where the controller somehow fails to write to event buffer > memory (e.g. due to incorrect MMU config), the driver would receive > all-zero dwc3 events. However, the abnormal event is silently dropped > as a regular ep0out event. > Add error logs when an unknown endpoint event is received to highlight > the anomaly. > > Signed-off-by: Roy Luo <royluo@google.com> > --- > drivers/usb/dwc3/ep0.c | 3 +++ > drivers/usb/dwc3/gadget.c | 3 +++ > 2 files changed, 6 insertions(+) > > diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c > index 953b752a5052..b94243237293 100644 > --- a/drivers/usb/dwc3/ep0.c > +++ b/drivers/usb/dwc3/ep0.c > @@ -1207,5 +1207,8 @@ void dwc3_ep0_interrupt(struct dwc3 *dwc, > dep->flags &= ~DWC3_EP_TRANSFER_STARTED; > } > break; > + default: > + dev_err(dwc->dev, "unknown endpoint event %d\n", event->endpoint_event); > + break; > } > } > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index c0ca4d12f95d..7163d5d0eea0 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -3803,6 +3803,9 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, > break; > case DWC3_DEPEVT_RXTXFIFOEVT: > break; > + default: > + dev_err(dwc->dev, "unknown endpoint event %d\n", event->endpoint_event); > + break; > } > } > > > base-commit: c8c655c34e33544aec9d64b660872ab33c29b5f1 > -- > 2.40.1.495.gc816e09b53d-goog > Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Thanks, Thinh
© 2016 - 2025 Red Hat, Inc.