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

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

Merge "usb: dwc3: Fix continuous spurious interrupts"

parents 1206b963 c4c3da1c
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -3754,7 +3754,15 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3_event_buffer *evt)

	/* Controller is being halted, ignore the interrupts */
	if (!dwc->pullups_connected) {
		dbg_event(0xFF, "NO_PULLUP", 0);
		/*
		 * Even with controller halted, there is a possibility
		 * that the interrupt line is kept asserted.
		 * As per the databook (3.00A - 6.3.57) read the GEVNTCOUNT
		 * to ensure that the interrupt line is de-asserted.
		 */
		count = dwc3_readl(dwc->regs, DWC3_GEVNTCOUNT(0));
		count &= DWC3_GEVNTCOUNT_MASK;
		dbg_event(0xFF, "NO_PULLUP", count);
		return IRQ_HANDLED;
	}