Message ID | 20200423063811.2636-2-kai.heng.feng@canonical.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v2,1/2] iopoll: Introduce read_poll_timeout_atomic macro | expand |
Kai-Heng Feng <kai.heng.feng@canonical.com> writes: > It's incorrect to use usleep in atomic context. > > Switch to a macro which uses udelay instead of usleep to prevent the issue. > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> This fixes a regression, right? So there should be a Fixes line. Also I can't take this until patch 1 is in my tree. And I don't know who takes iopoll.h patches.
> On Apr 23, 2020, at 14:49, Kalle Valo <kvalo@codeaurora.org> wrote: > > Kai-Heng Feng <kai.heng.feng@canonical.com> writes: > >> It's incorrect to use usleep in atomic context. >> >> Switch to a macro which uses udelay instead of usleep to prevent the issue. >> >> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > > This fixes a regression, right? So there should be a Fixes line. Yes, but the regression commit isn't in Linus' tree, so the sha1 may change. Kai-Heng > > Also I can't take this until patch 1 is in my tree. And I don't know who > takes iopoll.h patches. > > -- > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Kai-Heng Feng <kai.heng.feng@canonical.com> writes: >> On Apr 23, 2020, at 14:49, Kalle Valo <kvalo@codeaurora.org> wrote: >> >> Kai-Heng Feng <kai.heng.feng@canonical.com> writes: >> >>> It's incorrect to use usleep in atomic context. >>> >>> Switch to a macro which uses udelay instead of usleep to prevent the issue. >>> >>> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> >> >> This fixes a regression, right? So there should be a Fixes line. > > Yes, but the regression commit isn't in Linus' tree, so the sha1 may change. No, the commit id won't change after I have commited the patch. I don't rebase my trees.
diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c index 245da96dfddc..8f998b4a7234 100644 --- a/drivers/net/wireless/realtek/rtw88/fw.c +++ b/drivers/net/wireless/realtek/rtw88/fw.c @@ -228,9 +228,9 @@ static void rtw_fw_send_h2c_command(struct rtw_dev *rtwdev, goto out; } - ret = read_poll_timeout(rtw_read8, box_state, - !((box_state >> box) & 0x1), 100, 3000, false, - rtwdev, REG_HMETFR); + ret = read_poll_timeout_atomic(rtw_read8, box_state, + !((box_state >> box) & 0x1), 100, 3000, + false, rtwdev, REG_HMETFR); if (ret) { rtw_err(rtwdev, "failed to send h2c command\n");
It's incorrect to use usleep in atomic context. Switch to a macro which uses udelay instead of usleep to prevent the issue. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> --- drivers/net/wireless/realtek/rtw88/fw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)