diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2016-09-26 15:45:41 -0700 |
---|---|---|
committer | Sasha Levin <alexander.levin@verizon.com> | 2016-11-23 21:30:43 -0500 |
commit | a5eade900fc89adf2b7cd18c6d61e6b85abff7e5 (patch) | |
tree | f8636781bb36083f4f90049ece4b3f38fc2c5151 /drivers/memstick | |
parent | b2580c4ba788bd913759b14dc9f5a9ef2ada997d (diff) | |
download | linux-rt-a5eade900fc89adf2b7cd18c6d61e6b85abff7e5.tar.gz |
memstick: rtsx_usb_ms: Runtime resume the device when polling for cards
[ Upstream commit 796aa46adf1d90eab36ae06a42e6d3f10b28a75c ]
Accesses to the rtsx usb device, which is the parent of the rtsx memstick
device, must not be done unless it's runtime resumed.
Therefore when the rtsx_usb_ms driver polls for inserted memstick cards,
let's add pm_runtime_get|put*() to make sure accesses is done when the
rtsx usb device is runtime resumed.
Reported-by: Ritesh Raj Sarraf <rrs@researchut.com>
Tested-by: Ritesh Raj Sarraf <rrs@researchut.com>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: <stable@vger.kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Diffstat (limited to 'drivers/memstick')
-rw-r--r-- | drivers/memstick/host/rtsx_usb_ms.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/memstick/host/rtsx_usb_ms.c b/drivers/memstick/host/rtsx_usb_ms.c index a7282b7d4de8..f90e2133bbd2 100644 --- a/drivers/memstick/host/rtsx_usb_ms.c +++ b/drivers/memstick/host/rtsx_usb_ms.c @@ -681,6 +681,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 +704,7 @@ static int rtsx_usb_detect_ms_card(void *__host) } poll_again: + pm_runtime_put(ms_dev(host)); if (host->eject) break; |