From 0003f178c38b4a3c6f0031ca488aca9470464f13 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 27 Jan 2014 09:04:55 -0500 Subject: Fix ath9k build error on ARM and disable BNA udelays above 2000 are bad. Disable the BNA driver for the same reason --- ath9k-fix-bad-udelay.patch | 94 ++++++++++++++++++++++++++++++++++++++++++++++ config-arm-generic | 1 + kernel.spec | 4 ++ 3 files changed, 99 insertions(+) create mode 100644 ath9k-fix-bad-udelay.patch diff --git a/ath9k-fix-bad-udelay.patch b/ath9k-fix-bad-udelay.patch new file mode 100644 index 000000000..0e202128a --- /dev/null +++ b/ath9k-fix-bad-udelay.patch @@ -0,0 +1,94 @@ + +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: +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 ; + 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 ; 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 ; 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 ) + id 1W7bQI-000GgL-Md; Sun, 26 Jan 2014 20:55:39 -0500 +From: Sujith Manoharan +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 +Cc: "John W. Linville" , + , netdev , + "Linux-Kernel\@Vger. Kernel. Org" +Subject: Re: ath9k ARM build error with v3.13-8330-g4ba9920 +In-Reply-To: +References: +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 diff --git a/config-arm-generic b/config-arm-generic index 8ea730c02..6bbfa9134 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -172,6 +172,7 @@ CONFIG_THERMAL_GOV_USER_SPACE=y # CONFIG_NET_VENDOR_EXAR is not set # CONFIG_NET_VENDOR_INTEL is not set # CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_BROCADE is not set # scsi diff --git a/kernel.spec b/kernel.spec index da79cb1ee..9695f7c6b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -632,6 +632,8 @@ Patch25187: revert-fsnotify-changes.patch #rhbz 1057529 Patch25188: 0001-usb-phy-Quiet-unable-to-find-transceiver-message.patch +Patch25189: ath9k-fix-bad-udelay.patch + # END OF PATCH DEFINITIONS %endif @@ -1288,6 +1290,8 @@ ApplyPatch revert-fsnotify-changes.patch # rhbz 1057529 ApplyPatch 0001-usb-phy-Quiet-unable-to-find-transceiver-message.patch +ApplyPatch ath9k-fix-bad-udelay.patch + # END OF PATCH APPLICATIONS %endif -- cgit