1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/mmc/core
Jonathan Bell 469e5e4713 mmc: core: apply SD quirks earlier during probe
Applying MMC_QUIRK_BROKEN_SD_CACHE is broken, as the card's SD quirks are
referenced in sd_parse_ext_reg_perf() prior to the quirks being initialized
in mmc_blk_probe().

To fix this problem, let's split out an SD-specific list of quirks and
apply in mmc_sd_init_card() instead. In this way, sd_read_ext_regs() to has
the available information for not assigning the SD_EXT_PERF_CACHE as one of
the (un)supported features, which in turn allows mmc_sd_init_card() to
properly skip execution of sd_enable_cache().

Fixes: c467c8f081 ("mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019")
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
Co-developed-by: Keita Aihara <keita.aihara@sony.com>
Signed-off-by: Keita Aihara <keita.aihara@sony.com>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240820230631.GA436523@sony.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-08-26 13:07:26 +02:00
..
block.c block: move cache control settings out of queue->flags 2024-06-19 07:58:28 -06:00
block.h mmc: block: Remove code no longer needed after the switch to blk-mq 2017-12-11 13:02:22 +01:00
bus.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
bus.h mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
card.h mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A 2023-11-03 12:01:32 +01:00
core.c mmc: add missing MODULE_DESCRIPTION() macros 2024-06-20 14:40:55 +02:00
core.h mmc: core: refactor debugfs code 2022-12-07 13:29:13 +01:00
crypto.c blk-crypto: rename blk_keyslot_manager to blk_crypto_profile 2021-10-21 10:49:32 -06:00
crypto.h mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
debugfs.c mmc: debugfs: add card entry for quirks 2024-04-02 12:25:08 +02:00
host.c mmc: core: Remove unused of_gpio.h 2024-04-02 12:21:38 +02:00
host.h mmc: host: factor out clearing the retune state 2021-08-24 10:15:28 +02:00
Kconfig mmc: core: Imply IOSCHED_BFQ 2023-02-02 16:02:02 +01:00
Makefile mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
mmc.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
mmc_ops.c mmc: core: Align to common busy polling behaviour for mmc ioctls 2023-02-15 13:24:03 +01:00
mmc_ops.h mmc: core: Add host specific tuning support for SD HS mode 2023-08-25 11:45:51 +02:00
mmc_test.c mmc: mmc_test: Fix NULL dereference on allocation failure 2024-08-20 13:47:36 +02:00
pwrseq.c mmc: pwrseq: Use device_match_of_node() 2022-12-07 13:22:37 +01:00
pwrseq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pwrseq_emmc.c mmc: add missing MODULE_DESCRIPTION() macros 2024-06-20 14:40:55 +02:00
pwrseq_sd8787.c mmc: add missing MODULE_DESCRIPTION() macros 2024-06-20 14:40:55 +02:00
pwrseq_simple.c mmc: add missing MODULE_DESCRIPTION() macros 2024-06-20 14:40:55 +02:00
queue.c block: move the stable_writes flag to queue_limits 2024-06-19 07:58:28 -06:00
queue.h block: move cache control settings out of queue->flags 2024-06-19 07:58:28 -06:00
quirks.h mmc: core: apply SD quirks earlier during probe 2024-08-26 13:07:26 +02:00
regulator.c mmc: core: add helpers mmc_regulator_enable/disable_vqmmc 2023-03-23 11:38:34 +01:00
sd.c mmc: core: apply SD quirks earlier during probe 2024-08-26 13:07:26 +02:00
sd.h mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
sd_ops.c mmc: core: Increase the timeout period of the ACMD41 command 2024-05-03 14:28:27 +02:00
sd_ops.h mmc: core: Add host specific tuning support for SD HS mode 2023-08-25 11:45:51 +02:00
sdio.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
sdio_bus.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
sdio_bus.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio_cis.c mmc: sdio: fix possible resource leaks in some error paths 2023-02-14 00:06:22 +01:00
sdio_cis.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio_io.c mmc: sdio: Spelling s/compement/complement/ 2023-01-23 15:51:38 +01:00
sdio_irq.c mmc: core: Switch to basic workqueue API for sdio_irq_work 2022-09-14 11:53:47 +02:00
sdio_ops.c mmc: sdio: Use mmc_pre_req() / mmc_post_req() 2020-09-07 08:57:44 +02:00
sdio_ops.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio_uart.c mmc: add missing MODULE_DESCRIPTION() macros 2024-06-20 14:40:55 +02:00
slot-gpio.c mmc: slot-gpio: Use irq_handler_t type 2024-04-26 06:47:04 +02:00
slot-gpio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00