Blob Blame History Raw
                                                                                                                                                                                                                                                               
Delivered-To: jwboyer@gmail.com
Received: by 10.76.27.197 with SMTP id v5csp83078oag;
        Sun, 26 Jan 2014 17:55:49 -0800 (PST)
X-Received: by 10.68.185.1 with SMTP id ey1mr13619314pbc.33.1390787749474;
        Sun, 26 Jan 2014 17:55:49 -0800 (PST)
Return-Path: <sujith@msujith.org>
Received: from bastion.fedoraproject.org (bastion02.fedoraproject.org. [209.132.181.3])
        by mx.google.com with ESMTP id va10si9336344pbc.158.2014.01.26.17.55.49
        for <jwboyer@gmail.com>;
        Sun, 26 Jan 2014 17:55:49 -0800 (PST)
Received-SPF: neutral (google.com: 209.132.181.3 is neither permitted nor denied by best guess record for domain of sujith@msujith.org) client-ip=209.132.181.3;
Authentication-Results: mx.google.com;
       spf=neutral (google.com: 209.132.181.3 is neither permitted nor denied by best guess record for domain of sujith@msujith.org) smtp.mail=sujith@msujith.org
Received: by bastion02.phx2.fedoraproject.org (Postfix)
	id B18E24013F; Mon, 27 Jan 2014 01:55:48 +0000 (UTC)
Delivered-To: jwboyer@fedoraproject.org
Received: from mx1.redhat.com (ext-mx11.extmail.prod.ext.phx2.redhat.com [10.5.110.16])
	by bastion02.phx2.fedoraproject.org (Postfix) with ESMTP id A0C3240135
	for <jwboyer@fedoraproject.org>; Mon, 27 Jan 2014 01:55:47 +0000 (UTC)
Received: from s72.web-hosting.com (s72.web-hosting.com [198.187.29.21])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s0R1tk44009597
	for <jwboyer@fedoraproject.org>; Sun, 26 Jan 2014 20:55:46 -0500
Received: from [117.199.138.156] (port=33797 helo=nako)
	by server72.web-hosting.com with esmtpsa (UNKNOWN:AES128-GCM-SHA256:128)
	(Exim 4.80.1)
	(envelope-from <sujith@msujith.org>)
	id 1W7bQI-000GgL-Md; Sun, 26 Jan 2014 20:55:39 -0500
From: Sujith Manoharan <sujith@msujith.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <21221.47960.726835.615315@gargle.gargle.HOWL>
Date: Mon, 27 Jan 2014 07:20:16 +0530
To: Josh Boyer <jwboyer@fedoraproject.org>
Cc: "John W. Linville" <linville@tuxdriver.com>,
        <ath9k-devel@venema.h4ckr.net>, netdev <netdev@vger.kernel.org>,
        "Linux-Kernel\@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>
Subject: Re: ath9k ARM build error with v3.13-8330-g4ba9920
In-Reply-To: <CA+5PVA4fnCo8anT0HZCVu4+AFAseibm=0yD8nL3Lm7Q5dA-qZQ@mail.gmail.com>
References: <CA+5PVA4fnCo8anT0HZCVu4+AFAseibm=0yD8nL3Lm7Q5dA-qZQ@mail.gmail.com>
X-Mailer: VM 8.2.0b under 24.3.50.1 (x86_64-unknown-linux-gnu)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server72.web-hosting.com
X-AntiAbuse: Original Domain - fedoraproject.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - msujith.org
X-Get-Message-Sender-Via: server72.web-hosting.com: authenticated_id: sujith@msujith.org
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-RedHat-Spam-Score: -1.9  (BAYES_00)
X-Scanned-By: MIMEDefang 2.68 on 10.5.110.16

Josh Boyer wrote:
> adds a udelay(10000) call to the ath9k driver.  This will cause a
> build error on various ARM configs because the value passed to udelay
> is too large:
> 
> ERROR: "__bad_udelay" [drivers/net/wireless/ath/ath9k/ath9k_hw.ko] undefined!
> make[1]: *** [__modpost] Error 1
> make: *** [modules] Error 2
> 
> Is the 10000 microsecond udelay really required?  I believe the limit
> on ARM is 2000.  Perhaps something else could be done in this case?

The delay is a workaround for a HW issue. Does this patch fix the problem ?

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index fbf43c0..11eab9f 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1316,7 +1316,7 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type)
 	if (AR_SREV_9300_20_OR_LATER(ah))
 		udelay(50);
 	else if (AR_SREV_9100(ah))
-		udelay(10000);
+		mdelay(10);
 	else
 		udelay(100);
 
@@ -2051,9 +2051,8 @@ static bool ath9k_hw_set_power_awake(struct ath_hw *ah)
 
 	REG_SET_BIT(ah, AR_RTC_FORCE_WAKE,
 		    AR_RTC_FORCE_WAKE_EN);
-
 	if (AR_SREV_9100(ah))
-		udelay(10000);
+		mdelay(10);
 	else
 		udelay(50);
 

Sujith