Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'mmc-v6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull mmc fix from Ulf Hansson:

- Fix regression of detection of eMMC/SD/SDIO cards

* tag 'mmc-v6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
mmc: Revert "mmc: core: Allow mmc_start_host() synchronously detect a card"

+4 -11
+4 -11
drivers/mmc/core/core.c
··· 2199 2199 } 2200 2200 EXPORT_SYMBOL(mmc_card_alternative_gpt_sector); 2201 2201 2202 - static void __mmc_rescan(struct mmc_host *host) 2202 + void mmc_rescan(struct work_struct *work) 2203 2203 { 2204 + struct mmc_host *host = 2205 + container_of(work, struct mmc_host, detect.work); 2204 2206 int i; 2205 2207 2206 2208 if (host->rescan_disable) ··· 2274 2272 mmc_schedule_delayed_work(&host->detect, HZ); 2275 2273 } 2276 2274 2277 - void mmc_rescan(struct work_struct *work) 2278 - { 2279 - struct mmc_host *host = 2280 - container_of(work, struct mmc_host, detect.work); 2281 - 2282 - __mmc_rescan(host); 2283 - } 2284 - 2285 2275 void mmc_start_host(struct mmc_host *host) 2286 2276 { 2287 2277 host->f_init = max(min(freqs[0], host->f_max), host->f_min); ··· 2286 2292 } 2287 2293 2288 2294 mmc_gpiod_request_cd_irq(host); 2289 - host->detect_change = 1; 2290 - __mmc_rescan(host); 2295 + _mmc_detect_change(host, 0, false); 2291 2296 } 2292 2297 2293 2298 void __mmc_stop_host(struct mmc_host *host)