Re: [PATCH v2] b43: Replace mdelay with usleep_range in b43_radio_2057_init_post

From: Jia-Ju Bai
Date: Tue Jan 09 2018 - 03:40:02 EST




On 2018/1/9 16:35, Greg KH wrote:
On Tue, Jan 09, 2018 at 09:40:06AM +0800, Jia-Ju Bai wrote:
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 usleep_range,
to reduce busy wait.

Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxxxx>
---
v2:
* Replace mdelay with usleep_range, instead of msleep in v1.
Thank Larry for good advice.
---
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..f2a2f41 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);
+ usleep_range(2000, 3000);
Where did 3000 come from? Are you sure about that?

I am not very sure, and I use it according to Larry's message:

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).

Thanks,
Jia-Ju Bai