rtlwifi: rtl8192de: Replace loops calling udelay with single mdelay
authorLarry Finger <Larry.Finger@lwfinger.net>
Fri, 1 Jul 2011 13:50:48 +0000 (08:50 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 5 Jul 2011 19:26:55 +0000 (15:26 -0400)
There are a number of loops to implement delays. These are replaced with
single calls to mdelay().

The need for a fix was noted by Andrew Morton <akpm@linux-foundation.org>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtlwifi/rtl8192de/phy.c

index 53f622150057e05d19e232f08b2c909ad07abb05..3ac7af1c5509c3eec85943a5f570c24e542e473d 100644 (file)
@@ -932,7 +932,7 @@ bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
                                          enum rf_content content,
                                          enum radio_path rfpath)
 {
-       int i, j;
+       int i;
        u32 *radioa_array_table;
        u32 *radiob_array_table;
        u16 radioa_arraylen, radiob_arraylen;
@@ -974,13 +974,10 @@ bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
                                mdelay(50);
                        } else if (radioa_array_table[i] == 0xfd) {
                                /* delay_ms(5); */
-                               for (j = 0; j < 100; j++)
-                                       udelay(MAX_STALL_TIME);
+                               mdelay(5);
                        } else if (radioa_array_table[i] == 0xfc) {
                                /* delay_ms(1); */
-                               for (j = 0; j < 20; j++)
-                                       udelay(MAX_STALL_TIME);
-
+                               mdelay(1);
                        } else if (radioa_array_table[i] == 0xfb) {
                                udelay(50);
                        } else if (radioa_array_table[i] == 0xfa) {
@@ -1004,12 +1001,10 @@ bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
                                mdelay(50);
                        } else if (radiob_array_table[i] == 0xfd) {
                                /* delay_ms(5); */
-                               for (j = 0; j < 100; j++)
-                                       udelay(MAX_STALL_TIME);
+                               mdelay(5);
                        } else if (radiob_array_table[i] == 0xfc) {
                                /* delay_ms(1); */
-                               for (j = 0; j < 20; j++)
-                                       udelay(MAX_STALL_TIME);
+                               mdelay(1);
                        } else if (radiob_array_table[i] == 0xfb) {
                                udelay(50);
                        } else if (radiob_array_table[i] == 0xfa) {
@@ -1276,7 +1271,7 @@ static void rtl92d_phy_switch_wirelessband(struct ieee80211_hw *hw, u8 band)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
-       u8 i, value8;
+       u8 value8;
 
        RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, ("==>\n"));
        rtlhal->bandset = band;
@@ -1321,8 +1316,7 @@ static void rtl92d_phy_switch_wirelessband(struct ieee80211_hw *hw, u8 band)
                rtl_write_byte(rtlpriv, (rtlhal->interfaceindex ==
                        0 ? REG_MAC0 : REG_MAC1), value8);
        }
-       for (i = 0; i < 20; i++)
-               udelay(MAX_STALL_TIME);
+       mdelay(1);
        RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, ("<==Switch Band OK.\n"));
 }