mmc: core: Invoke ->card_event() callback only when needed

The ->card_event() callback may be called when re-scan is disabled and for
non-removable cards, which both cases are unnecessary.

Instead let's move the call later in mmc_rescan() where these constraints
have been validated.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Ulf Hansson 2015-11-05 16:08:07 +01:00
Родитель dc28562bf2
Коммит 86236813ff
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -2567,11 +2567,6 @@ void mmc_rescan(struct work_struct *work)
container_of(work, struct mmc_host, detect.work);
int i;
if (host->trigger_card_event && host->ops->card_event) {
host->ops->card_event(host);
host->trigger_card_event = false;
}
if (host->rescan_disable)
return;
@ -2580,6 +2575,11 @@ void mmc_rescan(struct work_struct *work)
return;
host->rescan_entered = 1;
if (host->trigger_card_event && host->ops->card_event) {
host->ops->card_event(host);
host->trigger_card_event = false;
}
mmc_bus_get(host);
/*