linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] rtlwifi: rtl8192de/phy.c: fix udelay() usage
@ 2011-06-30 21:28 Larry Finger
  2011-06-30 21:33 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Larry Finger @ 2011-06-30 21:28 UTC (permalink / raw)
  To: John W Linville; +Cc: akpm, chaoming_li, linux-wireless

Subject: drivers/net/wireless/rtlwifi/rtl8192de/phy.c: fix udelay() usage
From: Andrew Morton <akpm@linux-foundation.org>

ERROR: "__bad_udelay" [drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko] undefined!

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---

 drivers/net/wireless/rtlwifi/rtl8192de/phy.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Index: wireless-testing-new/drivers/net/wireless/rtlwifi/rtl8192de/phy.c
===================================================================
--- wireless-testing-new.orig/drivers/net/wireless/rtlwifi/rtl8192de/phy.c
+++ wireless-testing-new/drivers/net/wireless/rtlwifi/rtl8192de/phy.c
@@ -1684,7 +1684,7 @@ static u8 _rtl92d_phy_patha_iqk(struct i
 	RTPRINT(rtlpriv, FINIT, INIT_IQK,
 		("Delay %d ms for One shot, path A LOK & IQK.\n",
 		IQK_DELAY_TIME));
-	udelay(IQK_DELAY_TIME * 1000);
+	mdelay(IQK_DELAY_TIME);
 	/* Check failed */
 	regeac = rtl_get_bbreg(hw, 0xeac, BMASKDWORD);
 	RTPRINT(rtlpriv, FINIT, INIT_IQK, ("0xeac = 0x%x\n", regeac));
@@ -1755,7 +1755,7 @@ static u8 _rtl92d_phy_patha_iqk_5g_norma
 		RTPRINT(rtlpriv, FINIT, INIT_IQK,
 			("Delay %d ms for One shot, path A LOK & IQK.\n",
 			IQK_DELAY_TIME));
-		udelay(IQK_DELAY_TIME * 1000 * 10);
+		mdelay(IQK_DELAY_TIME * 10);
 		/* Check failed */
 		regeac = rtl_get_bbreg(hw, 0xeac, BMASKDWORD);
 		RTPRINT(rtlpriv, FINIT, INIT_IQK, ("0xeac = 0x%x\n", regeac));
@@ -1808,7 +1808,7 @@ static u8 _rtl92d_phy_pathb_iqk(struct i
 	RTPRINT(rtlpriv, FINIT, INIT_IQK,
 		("Delay %d ms for One shot, path B LOK & IQK.\n",
 		IQK_DELAY_TIME));
-	udelay(IQK_DELAY_TIME * 1000);
+	mdelay(IQK_DELAY_TIME);
 	/* Check failed */
 	regeac = rtl_get_bbreg(hw, 0xeac, BMASKDWORD);
 	RTPRINT(rtlpriv, FINIT, INIT_IQK, ("0xeac = 0x%x\n", regeac));
@@ -1875,7 +1875,7 @@ static u8 _rtl92d_phy_pathb_iqk_5g_norma
 		/* delay x ms */
 		RTPRINT(rtlpriv, FINIT, INIT_IQK,
 			("Delay %d ms for One shot, path B LOK & IQK.\n", 10));
-		udelay(IQK_DELAY_TIME * 1000 * 10);
+		mdelay(IQK_DELAY_TIME * 10);
 
 		/* Check failed */
 		regeac = rtl_get_bbreg(hw, 0xeac, BMASKDWORD);
@@ -2206,7 +2206,7 @@ static void _rtl92d_phy_iq_calibrate_5g_
 	 * PHY_REG.txt , and radio_a, radio_b.txt */
 
 	RTPRINT(rtlpriv, FINIT, INIT_IQK, ("IQK for 5G NORMAL:Start!!!\n"));
-	udelay(IQK_DELAY_TIME * 1000 * 20);
+	mdelay(IQK_DELAY_TIME * 20);
 	if (t == 0) {
 		bbvalue = rtl_get_bbreg(hw, RFPGA0_RFMOD, BMASKDWORD);
 		RTPRINT(rtlpriv, FINIT, INIT_IQK, ("==>0x%08x\n", bbvalue));

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] rtlwifi: rtl8192de/phy.c: fix udelay() usage
  2011-06-30 21:28 [PATCH] rtlwifi: rtl8192de/phy.c: fix udelay() usage Larry Finger
@ 2011-06-30 21:33 ` Andrew Morton
  2011-06-30 22:03   ` Larry Finger
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2011-06-30 21:33 UTC (permalink / raw)
  To: Larry Finger; +Cc: John W Linville, chaoming_li, linux-wireless

Also, there are eleventy billion instances of

	for (j = 0; j < N; j++)
		udelay(MAX_STALL_TIME);

which seem rather unnecessary.

static inline void rtl8192c_udelay(unsigned n)
{
	if (n < 1000)
		udelay(n);
	else
		mdelay(n / 1000);
}

or something.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] rtlwifi: rtl8192de/phy.c: fix udelay() usage
  2011-06-30 21:33 ` Andrew Morton
@ 2011-06-30 22:03   ` Larry Finger
  0 siblings, 0 replies; 3+ messages in thread
From: Larry Finger @ 2011-06-30 22:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: John W Linville, chaoming_li, linux-wireless

On 06/30/2011 04:33 PM, Andrew Morton wrote:
> Also, there are eleventy billion instances of
>
> 	for (j = 0; j<  N; j++)
> 		udelay(MAX_STALL_TIME);
>
> which seem rather unnecessary.
>
> static inline void rtl8192c_udelay(unsigned n)
> {
> 	if (n<  1000)
> 		udelay(n);
> 	else
> 		mdelay(n / 1000);
> }
>
> or something.

As MAX_STALL_TIME is 50, I have done the math for (N * 50) / 1000 and changed 
the loop to the equivalent mdelay call.

Larry

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-06-30 22:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-30 21:28 [PATCH] rtlwifi: rtl8192de/phy.c: fix udelay() usage Larry Finger
2011-06-30 21:33 ` Andrew Morton
2011-06-30 22:03   ` Larry Finger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).