Discussion:
[PATCH] b43: Replace mdelay with msleep in b43_radio_2057_init_post
Jia-Ju Bai
2017-12-30 11:08:27 UTC
Permalink
b43_radio_2057_init_post is not called in an interrupt handler
nor holding a spinlock.
The function mdelay in it can be replaced with msleep, to reduce busy wait.

Signed-off-by: Jia-Ju Bai <***@gmail.com>
---
drivers/net/wireless/broadcom/b43/phy_n.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/b43/phy_n.c b/drivers/net/wireless/broadcom/b43/phy_n.c
index a5557d7..5bc838e 100644
--- a/drivers/net/wireless/broadcom/b43/phy_n.c
+++ b/drivers/net/wireless/broadcom/b43/phy_n.c
@@ -1031,7 +1031,7 @@ static void b43_radio_2057_init_post(struct b43_wldev *dev)

b43_radio_set(dev, R2057_RFPLL_MISC_CAL_RESETN, 0x78);
b43_radio_set(dev, R2057_XTAL_CONFIG2, 0x80);
- mdelay(2);
+ msleep(2);
b43_radio_mask(dev, R2057_RFPLL_MISC_CAL_RESETN, ~0x78);
b43_radio_mask(dev, R2057_XTAL_CONFIG2, ~0x80);
--
1.7.9.5
Larry Finger
2017-12-30 18:49:50 UTC
Permalink
Post by Jia-Ju Bai
b43_radio_2057_init_post is not called in an interrupt handler
nor holding a spinlock.
The function mdelay in it can be replaced with msleep, to reduce busy wait.
checkpatch.pl reports the following warning for this patch:

WARNING: msleep < 20ms can sleep for up to 20ms; see
Documentation/timers/timers-howto.txt
#26: FILE: drivers/net/wireless/broadcom/b43/phy_n.c:1034:
+ msleep(2);

total: 0 errors, 1 warnings, 0 checks, 8 lines checked

Have you tested to verify that a sleep as long as 20 ms will not cause problems?
The referenced document suggests a usleep_range() call.

In general, delay changes should never be proposed without testing.

Larry
Kalle Valo
2018-01-08 16:21:28 UTC
Permalink
Post by Jia-Ju Bai
b43_radio_2057_init_post is not called in an interrupt handler
nor holding a spinlock.
The function mdelay in it can be replaced with msleep, to reduce busy wait.
You submitted an identical patch a week earlier:

https://patchwork.kernel.org/patch/10137671/

How is this different? Also always add version number to the patch so that the
maintainers can follow the changes easily:

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#patch_version_missing

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#changelog_missing
--
https://patchwork.kernel.org/patch/10137671/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Larry Finger
2018-01-08 16:31:56 UTC
Permalink
Post by Kalle Valo
Post by Jia-Ju Bai
b43_radio_2057_init_post is not called in an interrupt handler
nor holding a spinlock.
The function mdelay in it can be replaced with msleep, to reduce busy wait.
https://patchwork.kernel.org/patch/10137671/
How is this different? Also always add version number to the patch so that the
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#patch_version_missing
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#changelog_missing
I had negative comments on one of those due to the possibility of msleep(2)
extending as long as 20 msec. Until the author, or someone else, can test that
this is OK, then the mdelay(2) can only be replaced with usleep_range(2000, 3000).

NACK for both.

Larry
Kalle Valo
2018-01-08 17:06:24 UTC
Permalink
Post by Larry Finger
Post by Kalle Valo
Post by Jia-Ju Bai
b43_radio_2057_init_post is not called in an interrupt handler
nor holding a spinlock.
The function mdelay in it can be replaced with msleep, to reduce busy wait.
https://patchwork.kernel.org/patch/10137671/
How is this different? Also always add version number to the patch so that the
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#patch_version_missing
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#changelog_missing
I had negative comments on one of those due to the possibility of
msleep(2) extending as long as 20 msec. Until the author, or someone
else, can test that this is OK, then the mdelay(2) can only be
replaced with usleep_range(2000, 3000).
NACK for both.
Ok, patches dropped.
--
Kalle Valo
Jia-Ju Bai
2018-01-09 01:36:38 UTC
Permalink
Post by Larry Finger
Post by Kalle Valo
Post by Jia-Ju Bai
b43_radio_2057_init_post is not called in an interrupt handler
nor holding a spinlock.
The function mdelay in it can be replaced with msleep, to reduce busy wait.
https://patchwork.kernel.org/patch/10137671/
How is this different? Also always add version number to the patch so that the
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#patch_version_missing
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#changelog_missing
I had negative comments on one of those due to the possibility of
msleep(2) extending as long as 20 msec. Until the author, or someone
else, can test that this is OK, then the mdelay(2) can only be
replaced with usleep_range(2000, 3000).
NACK for both.
Larry
Sorry for my mistake.
I have sent a patch v2 using usleep_range(2000, 3000), and you can have
a look :)


Thanks,
Jia-Ju Bai

Loading...