greybus: sdio: fix card removable detection

In kernel versions bellow 3.15, the mmc_card_is_removable helper
function has an extra check used for a suspend/resume hack. This made
the gd_sdio_process_event to behave badly handling the module card
insert event in that versions.

So, just test bit the flag that we need, instead of using the helper
function. This way will work in all kernel versions.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Rui Miguel Silva 2015-10-08 12:10:52 +01:00 committed by Greg Kroah-Hartman
parent e0f875c336
commit 6cac7dc3aa
1 changed files with 2 additions and 2 deletions

View File

@ -144,7 +144,7 @@ static int _gb_sdio_process_events(struct gb_sdio_host *host, u8 event)
u8 state_changed = 0;
if (event & GB_SDIO_CARD_INSERTED) {
if (!mmc_card_is_removable(host->mmc))
if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
return 0;
if (host->card_present)
return 0;
@ -153,7 +153,7 @@ static int _gb_sdio_process_events(struct gb_sdio_host *host, u8 event)
}
if (event & GB_SDIO_CARD_REMOVED) {
if (!mmc_card_is_removable(host->mmc))
if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
return 0;
if (!(host->card_present))
return 0;