|
18 | 18 | static const struct mmc_fixup __maybe_unused mmc_sd_fixups[] = { |
19 | 19 | /* |
20 | 20 | * Kingston Canvas Go! Plus microSD cards never finish SD cache flush. |
21 | | - * This has been observed on cards from 2019/11 and 2021/11, while new |
22 | | - * cards from 2023/05 and 2024/08 do not exhibit this behavior. |
| 21 | + * This has so far only been observed on cards from 11/2019, while new |
| 22 | + * cards from 2023/05 do not exhibit this behavior. |
23 | 23 | */ |
24 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_KINGSTON_SD, 0x5449, 2019, CID_MONTH_ANY, |
25 | | - 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
26 | | - MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
27 | | - |
28 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_KINGSTON_SD, 0x5449, 2020, CID_MONTH_ANY, |
29 | | - 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
30 | | - MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
31 | | - |
32 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_KINGSTON_SD, 0x5449, 2021, CID_MONTH_ANY, |
33 | | - 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
34 | | - MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
35 | | - |
36 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_KINGSTON_SD, 0x5449, 2022, CID_MONTH_ANY, |
| 24 | + _FIXUP_EXT("SD64G", CID_MANFID_KINGSTON_SD, 0x5449, 2019, 11, |
37 | 25 | 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
38 | 26 | MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
39 | 27 |
|
@@ -62,36 +50,6 @@ static const struct mmc_fixup __maybe_unused mmc_sd_fixups[] = { |
62 | 50 | MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd, |
63 | 51 | MMC_QUIRK_BROKEN_SD_DISCARD), |
64 | 52 |
|
65 | | - /* |
66 | | - * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache |
67 | | - * flush OK, but become unresponsive afterwards. |
68 | | - */ |
69 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_SAMSUNG_SD, 0x534d, 2023, CID_MONTH_ANY, |
70 | | - 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
71 | | - MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
72 | | - |
73 | | - /* |
74 | | - * Early Sandisk Extreme and Extreme Pro A2 cards never finish SD cache |
75 | | - * flush in CQ mode. Latest card date this was seen on is 10/2020. |
76 | | - */ |
77 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, 2019, CID_MONTH_ANY, |
78 | | - 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
79 | | - MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
80 | | - |
81 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, 2020, CID_MONTH_ANY, |
82 | | - 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
83 | | - MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), |
84 | | - |
85 | | - /* SD A2 allow-list - only trust CQ on these cards */ |
86 | | - /* Raspberry Pi A2 cards */ |
87 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_LONGSYS_SD, 0x4c53, CID_YEAR_ANY, CID_MONTH_ANY, |
88 | | - cid_rev(1, 0, 0, 0), -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
89 | | - MMC_QUIRK_WORKING_SD_CQ, EXT_CSD_REV_ANY), |
90 | | - |
91 | | - _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_TRANSCEND_SD, 0x4a60, CID_YEAR_ANY, CID_MONTH_ANY, |
92 | | - cid_rev(2, 0, 2026, 4), -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, |
93 | | - MMC_QUIRK_WORKING_SD_CQ, EXT_CSD_REV_ANY), |
94 | | - |
95 | 53 | END_FIXUP |
96 | 54 | }; |
97 | 55 |
|
@@ -195,29 +153,6 @@ static const struct mmc_fixup __maybe_unused mmc_blk_fixups[] = { |
195 | 153 | MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc, |
196 | 154 | MMC_QUIRK_TRIM_BROKEN), |
197 | 155 |
|
198 | | - /* |
199 | | - * Some SD cards reports discard support while they don't |
200 | | - */ |
201 | | - MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd, |
202 | | - MMC_QUIRK_BROKEN_SD_DISCARD), |
203 | | - |
204 | | - /* |
205 | | - * On some Kingston SD cards, multiple erases of less than 64 |
206 | | - * sectors can cause corruption. |
207 | | - */ |
208 | | - MMC_FIXUP("SD16G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
209 | | - MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
210 | | - MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
211 | | - |
212 | | - /* |
213 | | - * Larger Integral SD cards using rebranded Phison controllers trash |
214 | | - * nearby flash blocks after erases. |
215 | | - */ |
216 | | - MMC_FIXUP("SD64G", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
217 | | - MMC_FIXUP("SD128", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
218 | | - MMC_FIXUP("SD256", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
219 | | - MMC_FIXUP("SD512", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), |
220 | | - |
221 | 156 | END_FIXUP |
222 | 157 | }; |
223 | 158 |
|
|
0 commit comments