USB: dwc3: Increase event buffer size from 4K to 8K
Controllers prior to 2.30a revision has a bug where Overflow Event may
overwrite an unacknowledged event in the event buffer. The severity of
the issue depends on the overwritten event type. Add a warning message
saying that an event is overwritten. Increase the event buffer size
from 4K to 8K to minimize the chance of event buffer becoming full.
CRs-fixed: 371304
Change-Id: Iad7e9e08426bdf5c3578ea3445e67b21d6dcf038
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index ff6a8b5..f0fc07b 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2207,6 +2207,18 @@
break;
case DWC3_DEVICE_EVENT_OVERFLOW:
dev_vdbg(dwc->dev, "Overflow\n");
+ /*
+ * Controllers prior to 2.30a revision has a bug where
+ * Overflow Event may overwrite an unacknowledged event
+ * in the event buffer. The severity of the issue depends
+ * on the overwritten event type. Add a warning message
+ * saying that an event is overwritten.
+ *
+ * TODO: In future we may need to see if we can re-enumerate
+ * with host.
+ */
+ if (dwc->revision < DWC3_REVISION_230A)
+ dev_warn(dwc->dev, "Unacknowledged event overwritten\n");
break;
default:
dev_dbg(dwc->dev, "UNKNOWN IRQ %d\n", event->type);