Bug 37462

Summary: ath9k: lockups when suspending, resuming, some other times on some laptops (AR9285)
Product: Networking Reporter: Jonathan Nieder (jrnieder)
Component: WirelessAssignee: networking_wireless (networking_wireless)
Status: RESOLVED CODE_FIX    
Severity: high CC: ath9k-devel, florian, linville, stf_xl
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.35-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 16055    
Attachments: 0001-ath9k-skip-config_pci_powersave-quirks-if-PCIe-port-.patch

Description Jonathan Nieder 2011-06-14 02:16:44 UTC
Original report, including bisection:
 http://thread.gmane.org/gmane.linux.kernel.wireless.general/65397

Another report:
 https://bugzilla.redhat.com/show_bug.cgi?id=697157

Workaround:
 http://thread.gmane.org/gmane.linux.kernel.wireless.general/65397/focus=71460

Analysis:
 http://thread.gmane.org/gmane.linux.kernel.wireless.general/65397/focus=6411
 http://thread.gmane.org/gmane.linux.kernel.wireless.general/71577/focus=71624

Seems to be ASPM related.  Adrian Chadd wrote:

| I think the problem on these laptops is that -disabling- the APSM bits
| causes some systems to hang.
|
| That's what the commit earlier in the year did - it disabled those
| bits by default. Later code then enabled those bits only on poweron,
| and disabled them on suspend. My dirty patch just has them enabled by
| default again as per the previous behaviour.

Thanks to Adrian and others for their work so far tracking this down.
https://bugzilla.kernel.org/show_bug.cgi?id=37082 might be the same bug.
Comment 1 Jonathan Nieder 2011-06-14 02:25:24 UTC
First-Bad-Commit: 53bc7aa08b48e5cd745f986731cc7dc24eef2a9f
Comment 2 Stanislaw Gruszka 2011-06-14 08:56:10 UTC
There is also patch-workoround available:
http://marc.info/?l=linux-wireless&m=130768848626799&w=2
Comment 3 Stanislaw Gruszka 2011-07-19 10:00:52 UTC
Created attachment 66002 [details]
0001-ath9k-skip-config_pci_powersave-quirks-if-PCIe-port-.patch

Please test this patch. I plan to post it as fix for that bug. I'm looking for confirmation if it works.
Comment 4 Stanislaw Gruszka 2011-07-22 13:55:47 UTC
Posted another 6 patches:
http://thread.gmane.org/gmane.linux.kernel.wireless.general/73834
Comment 5 Florian Mickler 2011-08-08 08:25:00 UTC
A patch referencing this bug report has been merged in Linux v3.1-rc1:

commit d4930086bdd0c08a8b3a4d66a9c702297cb74a99
Author: Stanislaw Gruszka <sgruszka@redhat.com>
Date:   Fri Jul 29 15:59:08 2011 +0200

    ath9k: skip ->config_pci_powersave() if PCIe port has ASPM disabled