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; |
