mmc: do not switch to 1-bit mode if not required
authorOhad Ben-Cohen <ohad@wizery.com>
Tue, 5 Apr 2011 14:43:21 +0000 (17:43 +0300)
committerChris Ball <cjb@laptop.org>
Wed, 25 May 2011 00:59:47 +0000 (20:59 -0400)
commit6b93d01fe5971951911a070f51f412d50e9536dc
tree0e0221f3af9f954bd60e469f94810730899ee374
parenta5e9425d2010978c5f85986cc70a9fa0c0d5b912
mmc: do not switch to 1-bit mode if not required

6b5eda36 followed SDIO spec part E1 section 8, which states that
in case SDIO interrupts are being used to wake up a suspended host,
then it is required to switch to 1-bit mode before stopping the clock.

Before switching to 1-bit mode (or back to 4-bit mode on resume),
make sure that SDIO interrupts are really being used to wake the host.

This is helpful for devices which have an external irq line (e.g.
wl1271), and do not use SDIO interrupts to wake up the host.

In this case, switching to 1-bit mode (and back to 4-bit mode on resume)
is not necessary.

Reported-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/sdio.c
include/linux/mmc/host.h