rtl818x: Replace mdelay() with msleep() in rtl8225se_rf_init
authorJia-Ju Bai <baijiaju1990@gmail.com>
Fri, 27 Jul 2018 08:50:45 +0000 (16:50 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 31 Jul 2018 07:26:46 +0000 (10:26 +0300)
rtl8225se_rf_init() is never called in atomic context.
It calls mdelay() to busily wait, which is not necessary.
mdelay() can be replaced with msleep().
This patch only replaces the mdelay() that has >20ms time to wait.

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtl818x/rtl8180/rtl8225se.c

index fde89866fa8d648437000dcf0e701793bca58356..51e32df6120b619c33b8a5eedc0b705724fc12df 100644 (file)
@@ -363,7 +363,7 @@ void rtl8225se_rf_init(struct ieee80211_hw *dev)
        rtl8187se_rf_writereg(dev, 0x00, 0x0037); mdelay(11);
        rtl8187se_rf_writereg(dev, 0x04, 0x0160); mdelay(11);
        rtl8187se_rf_writereg(dev, 0x07, 0x0080); mdelay(11);
-       rtl8187se_rf_writereg(dev, 0x02, 0x088D); mdelay(221);
+       rtl8187se_rf_writereg(dev, 0x02, 0x088D); msleep(221);
        rtl8187se_rf_writereg(dev, 0x00, 0x0137); mdelay(11);
        rtl8187se_rf_writereg(dev, 0x07, 0x0000); mdelay(1);
        rtl8187se_rf_writereg(dev, 0x07, 0x0180); mdelay(1);
@@ -386,7 +386,7 @@ void rtl8225se_rf_init(struct ieee80211_hw *dev)
        rtl8187se_rf_writereg(dev, 0x00, 0x00BF); mdelay(1);
        rtl8187se_rf_writereg(dev, 0x0D, 0x08DF); mdelay(1);
        rtl8187se_rf_writereg(dev, 0x02, 0x004D); mdelay(1);
-       rtl8187se_rf_writereg(dev, 0x04, 0x0975); mdelay(31);
+       rtl8187se_rf_writereg(dev, 0x04, 0x0975); msleep(31);
        rtl8187se_rf_writereg(dev, 0x00, 0x0197); mdelay(1);
        rtl8187se_rf_writereg(dev, 0x05, 0x05AB); mdelay(1);