Hardware: Com Express module with 1.6GHz core 2 duo processor and 2GB RAM. Model is COM-840E-L-32 here: http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=841&seq=&id=&sid= Atheros AR9160 based miniPCI wi-fi module (802.11abgn). This one: http://www.aradasystems.com/product-detail/maxr-953---11a-b-g-n-%28100mw%29/ Linux: Ubuntu Server 10.04 64-bit root@ucs-cots2:~# cat /proc/version Linux version 2.6.32-23-server (buildd@yellow) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #37-Ubuntu SMP Fri Jun 11 09:11:11 UTC 2010 From the kernel map it looks like this is equivalent to 2.6.32.15+drm33.5 Problem: Linux hangs with no logs when wireless running as AP or Client with ath9k driver. I don't get the hangs if I disable multi-core processing in BIOS. Analysis: It looks like I have this bug (as mentioned in the common problems on the ath9k bugs webpage: http://wireless.kernel.org/en/users/Drivers/ath9k/bugs). "Hangs with PCI devices and SMP systems" The implemented fix is not picked up for my device (an AR9160 basic miniPCI card) as seen from the following debug output: kernel: [ 52.962332] ath9k: serialize_regmode is 0 I compiled the latest stable version of ath9k (compat-wireless-2.6.35-rc4) using compat-wireless and still got the same problem. I 'shoe-horned' the fix into the compat-wireless-2.6.32.16 driver by adding the following line to HW.C: if (ah->config.serialize_regmode == SER_REG_MODE_AUTO) { if (ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCI || (AR_SREV_9280(ah) && !ah->is_pciexpress)) { ah->config.serialize_regmode = SER_REG_MODE_ON; } else { ah->config.serialize_regmode = SER_REG_MODE_OFF; } } #### New line to force serialisation to ON #### ah->config.serialize_regmode = SER_REG_MODE_ON; DPRINTF(ah->ah_sc, ATH_DBG_RESET, "serialize_regmode is %d\n", ah->config.serialize_regmode); This forces serialisation on: kernel: [ 61.449975] ath9k: serialize_regmode is 1 and fixes my issue - I no longer see hangs. Is it possible to get the fix expanded to cover AR9160-based devices? Thanks.
Following log shows macVersion for our wireless card (AR_SREV_VERSION_9160): kernel: [ 7.767472] phy0: Atheros AR9160 MAC/BB Rev:1 AR5133 RF Rev:b0: mem=0xffffc90021320000, irq=17
Created attachment 27287 [details] 0001-ath9k-enable-serialize_regmode-for-non-PCIE-AR9160.patch Does this patch work for you (after removing your own change)?
It certainly does - thank you.
commit 4c85ab11ca56da1aa59b58c80cc6a356515cc645 Author: John W. Linville <linville@tuxdriver.com> Date: Wed Jul 28 10:06:35 2010 -0400 ath9k: enable serialize_regmode for non-PCIE AR9160 https://bugzilla.kernel.org/show_bug.cgi?id=16476 Signed-off-by: John W. Linville <linville@tuxdriver.com> Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com> Cc: stable@kernel.org