diff options
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index db37490f67ec..4dba48642e60 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -517,6 +517,9 @@ static void mmc_omap_detect(struct work_struct *work) | |||
517 | { | 517 | { |
518 | struct mmc_omap_host *host = container_of(work, struct mmc_omap_host, | 518 | struct mmc_omap_host *host = container_of(work, struct mmc_omap_host, |
519 | mmc_carddetect_work); | 519 | mmc_carddetect_work); |
520 | struct omap_mmc_slot_data *slot = &mmc_slot(host); | ||
521 | |||
522 | host->carddetect = slot->card_detect(slot->card_detect_irq); | ||
520 | 523 | ||
521 | sysfs_notify(&host->mmc->class_dev.kobj, NULL, "cover_switch"); | 524 | sysfs_notify(&host->mmc->class_dev.kobj, NULL, "cover_switch"); |
522 | if (host->carddetect) { | 525 | if (host->carddetect) { |
@@ -538,7 +541,6 @@ static irqreturn_t omap_mmc_cd_handler(int irq, void *dev_id) | |||
538 | { | 541 | { |
539 | struct mmc_omap_host *host = (struct mmc_omap_host *)dev_id; | 542 | struct mmc_omap_host *host = (struct mmc_omap_host *)dev_id; |
540 | 543 | ||
541 | host->carddetect = mmc_slot(host).card_detect(irq); | ||
542 | schedule_work(&host->mmc_carddetect_work); | 544 | schedule_work(&host->mmc_carddetect_work); |
543 | 545 | ||
544 | return IRQ_HANDLED; | 546 | return IRQ_HANDLED; |