Skip to content

Commit 1e78030

Browse files
committed
Merge tag 'mmc-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC fixes from Ulf Hansson: - sdhci-sprd: Add a missing pm_runtime_put_noidle() to fix deferred probe - dw_mmc: Fix occasional hang after tuning on eMMC - meson-mx-sdio: Fix misuse of GENMASK macro - mmc_spi: Fix CRC problems for writes by using BDI_CAP_STABLE_WRITES * tag 'mmc-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: mmc: mmc_spi: Enable stable writes mmc: meson-mx-sdio: Fix misuse of GENMASK macro mmc: dw_mmc: Fix occasional hang after tuning on eMMC mmc: host: sdhci-sprd: Fix the missing pm_runtime_put_noidle()
2 parents 28f5ab1 + 3a6ffb3 commit 1e78030

File tree

4 files changed

+8
-3
lines changed

4 files changed

+8
-3
lines changed

drivers/mmc/core/queue.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/kthread.h>
1111
#include <linux/scatterlist.h>
1212
#include <linux/dma-mapping.h>
13+
#include <linux/backing-dev.h>
1314

1415
#include <linux/mmc/card.h>
1516
#include <linux/mmc/host.h>
@@ -427,6 +428,10 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card)
427428
goto free_tag_set;
428429
}
429430

431+
if (mmc_host_is_spi(host) && host->use_spi_crc)
432+
mq->queue->backing_dev_info->capabilities |=
433+
BDI_CAP_STABLE_WRITES;
434+
430435
mq->queue->queuedata = mq;
431436
blk_queue_rq_timeout(mq->queue, 60 * HZ);
432437

drivers/mmc/host/dw_mmc.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2012,8 +2012,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
20122012
* delayed. Allowing the transfer to take place
20132013
* avoids races and keeps things simple.
20142014
*/
2015-
if ((err != -ETIMEDOUT) &&
2016-
(cmd->opcode == MMC_SEND_TUNING_BLOCK)) {
2015+
if (err != -ETIMEDOUT) {
20172016
state = STATE_SENDING_DATA;
20182017
continue;
20192018
}

drivers/mmc/host/meson-mx-sdio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
#define MESON_MX_SDIO_IRQC_IF_CONFIG_MASK GENMASK(7, 6)
7474
#define MESON_MX_SDIO_IRQC_FORCE_DATA_CLK BIT(8)
7575
#define MESON_MX_SDIO_IRQC_FORCE_DATA_CMD BIT(9)
76-
#define MESON_MX_SDIO_IRQC_FORCE_DATA_DAT_MASK GENMASK(10, 13)
76+
#define MESON_MX_SDIO_IRQC_FORCE_DATA_DAT_MASK GENMASK(13, 10)
7777
#define MESON_MX_SDIO_IRQC_SOFT_RESET BIT(15)
7878
#define MESON_MX_SDIO_IRQC_FORCE_HALT BIT(30)
7979
#define MESON_MX_SDIO_IRQC_HALT_HOLE BIT(31)

drivers/mmc/host/sdhci-sprd.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@ static int sdhci_sprd_probe(struct platform_device *pdev)
624624
sdhci_cleanup_host(host);
625625

626626
pm_runtime_disable:
627+
pm_runtime_put_noidle(&pdev->dev);
627628
pm_runtime_disable(&pdev->dev);
628629
pm_runtime_set_suspended(&pdev->dev);
629630

0 commit comments

Comments
 (0)