summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorPierre Ossman <drzeus@drzeus.cx>2007-07-11 20:28:02 +0200
committerPierre Ossman <drzeus@drzeus.cx>2007-07-26 01:53:48 +0200
commitcf795bfb3ad4e2f8f6bb346aa8edb8272d4c70a2 (patch)
treeccba2e6023d9f6da894d68ac21a06188e79495d6 /drivers/mmc
parentmmc: update kerneldoc (diff)
downloadlinux-cf795bfb3ad4e2f8f6bb346aa8edb8272d4c70a2.tar.xz
linux-cf795bfb3ad4e2f8f6bb346aa8edb8272d4c70a2.zip
mmc: add a might_sleep() to mmc_claim_host()
In the normal case, the host lock can be claimed directly. When it cannot, the caller will sleep. Make sure we don't have any latent bugs by always calling might_sleep(). Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index e08aa352bd50..3208890b10b3 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -260,6 +260,8 @@ void mmc_claim_host(struct mmc_host *host)
DECLARE_WAITQUEUE(wait, current);
unsigned long flags;
+ might_sleep();
+
add_wait_queue(&host->wq, &wait);
spin_lock_irqsave(&host->lock, flags);
while (1) {