Message ID | 20210327235932.175896-1-marex@denx.de (mailing list archive) |
---|---|
State | Accepted |
Commit | c434e5e48dc4e626364491455f97e2db0aa137b1 |
Delegated to: | Kalle Valo |
Headers | show |
Series | rsi: Use resume_noirq for SDIO | expand |
Marek Vasut <marex@denx.de> wrote: > 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: 20db07332736 ("rsi: sdio suspend and resume support") > Signed-off-by: Marek 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 Patch applied to wireless-drivers-next.git, thanks. c434e5e48dc4 rsi: Use resume_noirq for SDIO
diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c index 122174fca672..8465a4ee9b61 100644 --- a/drivers/net/wireless/rsi/rsi_91x_sdio.c +++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c @@ -1513,7 +1513,7 @@ static int rsi_restore(struct device *dev) } static const struct dev_pm_ops rsi_pm_ops = { .suspend = rsi_suspend, - .resume = rsi_resume, + .resume_noirq = rsi_resume, .freeze = rsi_freeze, .thaw = rsi_thaw, .restore = rsi_restore,
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: 20db07332736 ("rsi: sdio suspend and resume support") Signed-off-by: Marek 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 --- drivers/net/wireless/rsi/rsi_91x_sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)