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

Commit b0a3ef20 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "USB: dwc3: Fix spinlock recursion"

parents c8762173 f4e921e6
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -3592,16 +3592,17 @@ irqreturn_t dwc3_interrupt(int irq, void *_dwc)
	int				i;
	irqreturn_t			ret = IRQ_NONE;
	unsigned			temp_cnt = 0;
	unsigned long			flags;
	ktime_t				start_time;

	start_time = ktime_get();
	spin_lock(&dwc->lock);
	spin_lock_irqsave(&dwc->lock, flags);

	dwc->irq_cnt++;

	if (dwc->err_evt_seen) {
		/* controller reset is still pending */
		spin_unlock(&dwc->lock);
		spin_unlock_irqrestore(&dwc->lock, flags);
		return IRQ_HANDLED;
	}

@@ -3615,7 +3616,7 @@ irqreturn_t dwc3_interrupt(int irq, void *_dwc)
		temp_cnt += dwc->ev_buffs[i]->count;
	}

	spin_unlock(&dwc->lock);
	spin_unlock_irqrestore(&dwc->lock, flags);

	dwc->irq_start_time[dwc->irq_dbg_index] = start_time;
	dwc->irq_completion_time[dwc->irq_dbg_index] =