|
@@ -1334,6 +1334,13 @@ static void sdhci_tasklet_finish(unsigned long param)
|
|
|
|
|
|
host = (struct sdhci_host*)param;
|
|
host = (struct sdhci_host*)param;
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * If this tasklet gets rescheduled while running, it will
|
|
|
|
+ * be run again afterwards but without any active request.
|
|
|
|
+ */
|
|
|
|
+ if (!host->mrq)
|
|
|
|
+ return;
|
|
|
|
+
|
|
spin_lock_irqsave(&host->lock, flags);
|
|
spin_lock_irqsave(&host->lock, flags);
|
|
|
|
|
|
del_timer(&host->timer);
|
|
del_timer(&host->timer);
|