On Fri, 2010-03-05 at 15:04 -0800, Mark Sutton wrote:

> Is it possible this is a hardware issue?

It looks like a hardware issue, but maybe it can be worked around.

> BUG: soft lockup - CPU#0 stuck for 61s! [phy0:604]
> Modules linked in: usbhid hid nvidia(P) acpi_cpufreq cpufreq_stats 
> cpufreq_userspace cpufreq_ondemand cpufreq_powersave freq_table 
> cpufreq_conservative lm90 adm1021 arc4 ecb snd_intel8x0 snd_ac97_codec 
> ac97_bus snd_pcm ath9k pcmcia snd_seq mac80211 snd_timer yenta_socket 
> snd_seq_device ath fan rsrc_nonstatic uhci_hcd thermal cfg80211 video snd 
> processor toshiba_acpi pcmcia_core ehci_hcd thermal_sys led_class rtc_cmos 
> e100 soundcore rtc_core battery ac evdev hwmon mii rtc_lib output rfkill 
> snd_page_alloc intel_agp usbcore psmouse agpgart button
> 
> Pid: 604, comm: phy0 Tainted: P           (2.6.32.7 #4) Portable PC
> EIP: 0060:[<c0294d02>] EFLAGS: 00000296 CPU: 0
> EIP is at ioread32+0x32/0x40
> EAX: 00000000 EBX: edc40000 ECX: f0c40000 EDX: f0c48258
> ESI: edc40000 EDI: 00001000 EBP: 00000000 ESP: ed899d24
>  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
> CR0: 8005003b CR2: b7868000 CR3: 27fc7000 CR4: 000006d0
> DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
> DR6: ffff0ff0 DR7: 00000400
> Call Trace:
>  [<f0bfc656>] ? ath9k_hw_procmibevent+0x36/0x140 [ath9k]

I believe the register number is in DX.  Register 0x8258 is
AR_SLP_MIB_CTRL, and it's indeed being read in ath9k_hw_procmibevent().
Somehow reading that register causes a CPU lockup.

An easy workaround would be to comment out this line in ani.c:

if (!(REG_READ(ah, AR_SLP_MIB_CTRL) & AR_SLP_MIB_PENDING))

Leave the new line so that the register is cleared unconditionally.

-- 
Regards,
Pavel Roskin
_______________________________________________
ath9k-devel mailing list
[email protected]
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to