Revert "mmc: bcm2835: Terminate timeout work synchronously"
authorStefan Wahren <wahrenst@gmx.net>
Sun, 8 Sep 2019 07:45:52 +0000 (09:45 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 11 Sep 2019 13:57:21 +0000 (15:57 +0200)
The commit 37fefadee8bb ("mmc: bcm2835: Terminate timeout work
synchronously") causes lockups in case of hardware timeouts due the
timeout work also calling cancel_delayed_work_sync() on its own.
So revert it.

Fixes: 37fefadee8bb ("mmc: bcm2835: Terminate timeout work synchronously")
Cc: stable@vger.kernel.org
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/bcm2835.c

index 7e0d3a49c06d8ec443f0b8493c617411efbf7af8..bb31e13648d6577d47c5b0bd268a7cf0ccc80d5a 100644 (file)
@@ -597,7 +597,7 @@ static void bcm2835_finish_request(struct bcm2835_host *host)
        struct dma_chan *terminate_chan = NULL;
        struct mmc_request *mrq;
 
-       cancel_delayed_work_sync(&host->timeout_work);
+       cancel_delayed_work(&host->timeout_work);
 
        mrq = host->mrq;