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

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

Merge "usb: dwc3: gadget: Avoid spuriously printing NO_PULLUP in log"

parents 70ec0a68 6ef0e17f
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -3885,20 +3885,6 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3_event_buffer *evt)
	if (dwc->err_evt_seen)
		return IRQ_HANDLED;

	/* Controller is being halted, ignore the interrupts */
	if (!dwc->pullups_connected) {
		/*
		 * 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;
	}

	/*
	 * With PCIe legacy interrupt, test shows that top-half irq handler can
	 * be called again after HW interrupt deassertion. Check if bottom-half
@@ -3913,6 +3899,13 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3_event_buffer *evt)
	if (!count)
		return IRQ_NONE;

	/* Controller is halted; ignore new/pending events */
	if (!dwc->pullups_connected) {
		dwc3_writel(dwc->regs, DWC3_GEVNTCOUNT(0), count);
		dbg_event(0xFF, "NO_PULLUP", count);
		return IRQ_HANDLED;
	}

	if (count > evt->length) {
		dbg_event(0xFF, "HUGE_EVCNT", count);
		/*