From c38a74bdb5be68b268ac06dd793bc7259f6aecbd Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 4 Dec 2015 12:13:13 -0800 Subject: [PATCH] mmc: Extend wakelock if bus is dead This patch sets extend_wakelock if the host's bus is marked dead due to card removal. This change was originally made in bc4dc52f178828 (mmc: mmcblk: Add support for deferred SD bus resume), which was reverted due to the majority of the patch no longer building or making sense. However one small part of that patch ought to be saved. Signed-off-by: John Stultz --- drivers/mmc/core/core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 1b34aeb81fec..9c9bd3c90637 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -2596,6 +2596,12 @@ void mmc_rescan(struct work_struct *work) host->detect_change = 0; + /* If the card was removed the bus will be marked + * as dead - extend the wakelock so userspace + * can respond */ + if (host->bus_dead) + extend_wakelock = 1; + /* * Let mmc_bus_put() free the bus/bus_ops if we've found that * the card is no longer present. -- 2.20.1