ramips: fix cd-poll sd card remove randomly
Fix when add 'mediatek,cd-poll' to dts cause the sd card be removed randomly. Special for the device without card-detect pin. Signed-off-by: Qin Wie <me@vonger.cn>
This commit is contained in:
parent
c31f0421ce
commit
de350550ef
1 changed files with 4 additions and 0 deletions
|
@ -2345,6 +2345,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
+ else
|
+ else
|
||||||
+ inserted = (status & MSDC_PS_CDSTS) ? 1 : 0;
|
+ inserted = (status & MSDC_PS_CDSTS) ? 1 : 0;
|
||||||
+ }
|
+ }
|
||||||
|
+ if (host->mmc->caps & MMC_CAP_NEEDS_POLL)
|
||||||
|
+ inserted = 1;
|
||||||
+
|
+
|
||||||
+#if 0
|
+#if 0
|
||||||
+ change = host->card_inserted ^ inserted;
|
+ change = host->card_inserted ^ inserted;
|
||||||
|
@ -4092,6 +4094,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
+ present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 0 : 1;
|
+ present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 0 : 1;
|
||||||
+ else
|
+ else
|
||||||
+ present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 1 : 0;
|
+ present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 1 : 0;
|
||||||
|
+ if (host->mmc->caps & MMC_CAP_NEEDS_POLL)
|
||||||
|
+ present = 1;
|
||||||
+ host->card_inserted = present;
|
+ host->card_inserted = present;
|
||||||
+#endif
|
+#endif
|
||||||
+ spin_unlock_irqrestore(&host->lock, flags);
|
+ spin_unlock_irqrestore(&host->lock, flags);
|
||||||
|
|
Loading…
Reference in a new issue