projects
/
openwrt
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ramips: fix sd polling
[openwrt/.git]
/
target
/
linux
/
ramips
/
files
/
drivers
/
mmc
/
host
/
mtk-mmc
/
sd.c
diff --git
a/target/linux/ramips/files/drivers/mmc/host/mtk-mmc/sd.c
b/target/linux/ramips/files/drivers/mmc/host/mtk-mmc/sd.c
index 8cbc87da3afcf3e774281c56150e92ff31634fe6..188e0155722e1b016937c2b994bf186d818964ab 100644
(file)
--- a/
target/linux/ramips/files/drivers/mmc/host/mtk-mmc/sd.c
+++ b/
target/linux/ramips/files/drivers/mmc/host/mtk-mmc/sd.c
@@
-439,6
+439,8
@@
static void msdc_tasklet_card(struct work_struct *work)
inserted = (status & MSDC_PS_CDSTS) ? 0 : 1;
else
inserted = (status & MSDC_PS_CDSTS) ? 1 : 0;
inserted = (status & MSDC_PS_CDSTS) ? 0 : 1;
else
inserted = (status & MSDC_PS_CDSTS) ? 1 : 0;
+ if (host->mmc->caps & MMC_CAP_NEEDS_POLL)
+ inserted = 1;
#if 0
change = host->card_inserted ^ inserted;
#if 0
change = host->card_inserted ^ inserted;
@@
-1857,6
+1859,8
@@
static int msdc_ops_get_cd(struct mmc_host *mmc)
present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 0 : 1;
else
present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 1 : 0;
present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 0 : 1;
else
present = (sdr_read32(MSDC_PS) & MSDC_PS_CDSTS) ? 1 : 0;
+ if (host->mmc->caps & MMC_CAP_NEEDS_POLL)
+ present = 1;
host->card_inserted = present;
#endif
spin_unlock_irqrestore(&host->lock, flags);
host->card_inserted = present;
#endif
spin_unlock_irqrestore(&host->lock, flags);