Commit c434e5e4 authored by Marek Vasut's avatar Marek Vasut Committed by Kalle Valo

rsi: Use resume_noirq for SDIO

The rsi_resume() does access the bus to enable interrupts on the RSI
SDIO WiFi card, however when calling sdio_claim_host() in the resume
path, it is possible the bus is already claimed and sdio_claim_host()
spins indefinitelly. Enable the SDIO card interrupts in resume_noirq
instead to prevent anything else from claiming the SDIO bus first.

Fixes: 20db0733 ("rsi: sdio suspend and resume support")
Signed-off-by: default avatarMarek Vasut <marex@denx.de>
Cc: Amitkumar Karwar <amit.karwar@redpinesignals.com>
Cc: Angus Ainslie <angus@akkea.ca>
Cc: David S. Miller <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: Karun Eagalapati <karun256@gmail.com>
Cc: Martin Kepplinger <martink@posteo.de>
Cc: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
Cc: Siva Rebbagondla <siva8118@gmail.com>
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210327235932.175896-1-marex@denx.de
parent ec7480ed
...@@ -1513,7 +1513,7 @@ static int rsi_restore(struct device *dev) ...@@ -1513,7 +1513,7 @@ static int rsi_restore(struct device *dev)
} }
static const struct dev_pm_ops rsi_pm_ops = { static const struct dev_pm_ops rsi_pm_ops = {
.suspend = rsi_suspend, .suspend = rsi_suspend,
.resume = rsi_resume, .resume_noirq = rsi_resume,
.freeze = rsi_freeze, .freeze = rsi_freeze,
.thaw = rsi_thaw, .thaw = rsi_thaw,
.restore = rsi_restore, .restore = rsi_restore,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment