linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxim Levitsky <maximlevitsky@gmail.com>
To: Bob Copeland <me@bobcopeland.com>
Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>,
	ath5k-devel@lists.ath5k.org, linux-wireless@vger.kernel.org,
	"Luis R. Rodriguez" <mcgrof@bombadil.infradead.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: [PATCH v3] ath5k: disable ASPM
Date: Sat, 19 Jun 2010 18:32:44 +0300	[thread overview]
Message-ID: <1276961564.5173.12.camel@maxim-laptop> (raw)
In-Reply-To: <1276952554.3332.3.camel@maxim-laptop>

On Sat, 2010-06-19 at 16:02 +0300, Maxim Levitsky wrote: 
> On Sat, 2010-06-19 at 08:38 -0400, Bob Copeland wrote: 
> > On Sat, Jun 19, 2010 at 10:49:34AM +0300, Maxim Levitsky wrote:
> > > How this patch?
> > 
> > Looks fine to me.  Some nitpicking below but feel free to add my
> > 
> > Acked-by: Bob Copeland <me@bobcopeland.com>
> > 
Done.

Best regards,
Maxim Levitsky

--- 

commit 616afa397b3e843f2aba06be12a30e72dfff7740
Author: Maxim Levitsky <maximlevitsky@gmail.com>
Date:   Thu Jun 17 23:21:42 2010 +0300

    ath5k: disable ASPM
    
    Atheros card on Acer Aspire One (AOA150, Atheros Communications Inc. AR5001
    Wireless Network Adapter [168c:001c] (rev 01)) doesn't work well with ASPM
    enabled. With ASPM ath5k will eventually stall on heavy traffic with often
    'unsupported jumbo' warnings appearing. Disabling ASPM L0s in ath5k fixes
    these problems.
    Also card sends a storm of RXORN interrupts even though medium is idle.
    
    Reproduced with pcie_aspm=force and by using 'nc < /dev/zero > /dev/null' at
    both ends (usually stalls within seconds).
    
    Unfortunately BIOS enables ASPM on this card by default on these machines
    This means that, problem shows up (less often) without pcie_aspm=force too. 
    Therefore to benefit from this fix you need to _enable_ CONFIG_PCIEASPM
    

    All credit for this patch goes to Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
    for finding and fixing this bug.
    
    Based on patch that is
    From: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
    
    
    Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
    Acked-by: Bob Copeland <me@bobcopeland.com>

diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 3abbe75..4f6bd7c 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -48,6 +48,7 @@
 #include <linux/netdevice.h>
 #include <linux/cache.h>
 #include <linux/pci.h>
+#include <linux/pci-aspm.h>
 #include <linux/ethtool.h>
 #include <linux/uaccess.h>
 #include <linux/slab.h>
@@ -469,6 +470,19 @@ ath5k_pci_probe(struct pci_dev *pdev,
 	int ret;
 	u8 csz;
 
+	/*
+	 * Disable PCIE ASPM L0S on the card.
+	 * ASPM triggers hardware bug, that makes card stall transmission
+	 * untill reset, and even that doesn't always help.
+	 * This happens on meduim to heavy transmit utilization.
+	 * In addition to stall, hardware usually gives a storm of
+	 * RXORN interrupts, despite idle channel, and otherwise doesn't work.
+	 * Windows driver also disables the L0s ASPM,
+	 * probably due to same reason
+	 * Note: to benefit from this fix, please _enable_ CONFIG_PCIEASPM
+	 */
+	pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S);
+
 	ret = pci_enable_device(pdev);
 	if (ret) {
 		dev_err(&pdev->dev, "can't enable device\n");



  reply	other threads:[~2010-06-19 15:32 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-28 10:09 [PATCH] ath5k: disable ASPM Jussi Kivilinna
2010-05-28 16:19 ` [ath5k-devel] " Pavel Roskin
2010-05-28 18:25   ` Jussi Kivilinna
2010-05-28 20:27     ` Pavel Roskin
2010-05-31  1:06       ` Bruno Randolf
2010-06-01 20:43         ` Luis R. Rodriguez
2010-05-28 17:40 ` Luis R. Rodriguez
2010-05-28 18:20   ` Jussi Kivilinna
2010-06-17 20:33 ` Maxim Levitsky
2010-06-18  8:20   ` Jussi Kivilinna
2010-06-18  9:09     ` [ath5k-devel] " RHS Linux User
2010-06-18 10:15     ` Maxim Levitsky
2010-06-18 10:49       ` Jussi Kivilinna
2010-06-18 11:05         ` Maxim Levitsky
2010-06-18 13:59           ` Bob Copeland
2010-06-18 14:11             ` Maxim Levitsky
2010-06-19  7:49               ` [PATCH v2] " Maxim Levitsky
2010-06-19 12:38                 ` Bob Copeland
2010-06-19 13:02                   ` Maxim Levitsky
2010-06-19 15:32                     ` Maxim Levitsky [this message]
2010-07-26 20:13                       ` [ath5k-devel] [PATCH v3] " Luis R. Rodriguez
2010-07-26 20:49                         ` Maxim Levitsky
2010-07-26 21:06                           ` Luis R. Rodriguez
2010-07-26 21:14                             ` Matthew Garrett
2010-07-26 22:20                               ` Luis R. Rodriguez
2010-07-26 22:24                                 ` Matthew Garrett
2010-07-26 22:29                                   ` Luis R. Rodriguez
2010-07-26 21:17                             ` Maxim Levitsky
2010-07-26 21:25                               ` Matthew Garrett
2010-07-26 22:15                                 ` Luis R. Rodriguez
2010-07-26 22:21                                   ` Matthew Garrett
2010-07-26 22:26                                     ` Luis R. Rodriguez
2010-07-26 22:29                                       ` Matthew Garrett
2010-07-26 22:31                                         ` Luis R. Rodriguez
2010-07-26 22:33                                           ` Matthew Garrett
2010-07-26 22:43                                             ` Luis R. Rodriguez
2010-07-26 22:50                                               ` Matthew Garrett
2010-07-27  9:35                                                 ` Maxim Levitsky
2010-07-27 15:57                                                   ` Luis R. Rodriguez
2010-07-28 23:48                                                     ` Maxim Levitsky
2010-07-29  0:06                                                       ` Luis R. Rodriguez
2010-07-26 22:13                               ` Luis R. Rodriguez
2010-07-26 22:56                         ` Luis R. Rodriguez
2010-06-20  8:13                 ` [ath5k-devel] [PATCH v2] " Luis R. Rodriguez
2010-06-20 11:18                   ` Maxim Levitsky
2010-06-20 18:04                     ` Maxim Levitsky
2010-06-21  5:53                     ` Luis R. Rodriguez
2010-06-21 20:01                       ` Jussi Kivilinna
2010-06-21 20:16                       ` Maxim Levitsky
2010-06-21 20:33                         ` Jussi Kivilinna
2010-06-21 20:39                           ` Luis R. Rodriguez
2010-06-22 16:31                             ` Matthew Garrett
2010-06-22 16:48                               ` Luis R. Rodriguez
2010-06-22 16:52                                 ` Matthew Garrett
2010-06-22 17:17                                   ` Luis R. Rodriguez
2010-06-22 17:25                                     ` Matthew Garrett
2010-06-22 17:40                                       ` Luis R. Rodriguez
2010-06-22 17:50                                         ` Matthew Garrett
2010-06-22 18:28                                           ` Luis R. Rodriguez
2010-06-22 18:44                                             ` Matthew Garrett
2010-06-22 19:13                                               ` Luis R. Rodriguez
2010-06-22 19:31                                               ` Johannes Stezenbach
2010-06-22 19:37                                                 ` Luis R. Rodriguez
2010-06-22 19:38                                                   ` Luis R. Rodriguez
2010-06-23 14:39                                                     ` Johannes Stezenbach
2010-06-23 16:28                                                       ` Luis R. Rodriguez
2010-06-23 19:07                                                         ` Johannes Stezenbach
2010-06-23 19:23                                                   ` Johannes Stezenbach
2010-06-21 20:37                         ` Luis R. Rodriguez
2010-06-21 23:55                           ` Maxim Levitsky
2010-07-26 16:34 ` [PATCH] " Maxim Levitsky
2010-07-26 18:37   ` John W. Linville
2010-07-26 18:41   ` [ath5k-devel] " Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1276961564.5173.12.camel@maxim-laptop \
    --to=maximlevitsky@gmail.com \
    --cc=ath5k-devel@lists.ath5k.org \
    --cc=jussi.kivilinna@mbnet.fi \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@bombadil.infradead.org \
    --cc=me@bobcopeland.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).