aboutsummaryrefslogtreecommitdiff
path: root/drivers/memstick/host/rtsx_usb_ms.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-12-01 12:01:44 +0800
committerAlex Shi <alex.shi@linaro.org>2016-12-01 12:01:44 +0800
commit2e67ba554184199114a948786e47decb8b9a469b (patch)
tree1ed97bafe8b2c58171dceb88c6a6f1ff86f52084 /drivers/memstick/host/rtsx_usb_ms.c
parente5dd309b741e2e4d7e71da61e07249f91c80065e (diff)
parentac3d826bef907afe35f80ecccbcdd57223df4b88 (diff)
Merge tag 'v3.18.45' into linux-linaro-lsk-v3.18lsk-v3.18-16.12
This is the 3.18.45 stable release
Diffstat (limited to 'drivers/memstick/host/rtsx_usb_ms.c')
-rw-r--r--drivers/memstick/host/rtsx_usb_ms.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/memstick/host/rtsx_usb_ms.c b/drivers/memstick/host/rtsx_usb_ms.c
index a7282b7d4de8..021e4252ee04 100644
--- a/drivers/memstick/host/rtsx_usb_ms.c
+++ b/drivers/memstick/host/rtsx_usb_ms.c
@@ -524,6 +524,7 @@ static void rtsx_usb_ms_handle_req(struct work_struct *work)
int rc;
if (!host->req) {
+ pm_runtime_get_sync(ms_dev(host));
do {
rc = memstick_next_req(msh, &host->req);
dev_dbg(ms_dev(host), "next req %d\n", rc);
@@ -544,6 +545,7 @@ static void rtsx_usb_ms_handle_req(struct work_struct *work)
host->req->error);
}
} while (!rc);
+ pm_runtime_put(ms_dev(host));
}
}
@@ -570,6 +572,7 @@ static int rtsx_usb_ms_set_param(struct memstick_host *msh,
dev_dbg(ms_dev(host), "%s: param = %d, value = %d\n",
__func__, param, value);
+ pm_runtime_get_sync(ms_dev(host));
mutex_lock(&ucr->dev_mutex);
err = rtsx_usb_card_exclusive_check(ucr, RTSX_USB_MS_CARD);
@@ -635,6 +638,7 @@ static int rtsx_usb_ms_set_param(struct memstick_host *msh,
}
out:
mutex_unlock(&ucr->dev_mutex);
+ pm_runtime_put(ms_dev(host));
/* power-on delay */
if (param == MEMSTICK_POWER && value == MEMSTICK_POWER_ON)
@@ -681,6 +685,7 @@ static int rtsx_usb_detect_ms_card(void *__host)
int err;
for (;;) {
+ pm_runtime_get_sync(ms_dev(host));
mutex_lock(&ucr->dev_mutex);
/* Check pending MS card changes */
@@ -703,6 +708,7 @@ static int rtsx_usb_detect_ms_card(void *__host)
}
poll_again:
+ pm_runtime_put(ms_dev(host));
if (host->eject)
break;