I have just joined the o11s dev group, and I am as yet unfamiliar with the ath9k_htc code. But I am having a problem, and wonder if anyone has any ideas how I should handle it. I am using a TL-WN721N with the wireless-testing head kernel on a TI Omap3 EVM board. When I do a "iperf -c 169.254.1.2 -i 10" test, I am seeing the struct wmi_event_txstatus::cnt value go out of bounds.
Obviously, just generating a warning on an array out of bounds error is not
sufficient. How should this be handled? Should I break out of the loop at the
array boundary? Or, should I break as soon as I see that cnt is out of bounds?
Also I have not found what cnt is set by yet, why is this value being
corrupted? Is it read from the hardware?
If there is any information I can supply, please let me know.
This error causes the following output to occur many times:
ath: Invalid EPID: 0
------------[ cut here ]------------
WARNING: at drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:639
ath9k_htc_txstatus+0x28/0xc4 [ath9k_htc]()
Modules linked in: arc4 ath9k_htc mac80211 ath9k_common ath9k_hw ath cfg80211
fuse
[<c00121b8>] (unwind_backtrace+0x0/0xe4) from [<c002f1c8>]
(warn_slowpath_common+0x4c/0x64)
[<c002f1c8>] (warn_slowpath_common+0x4c/0x64) from [<c002f1f8>]
(warn_slowpath_null+0x18/0x1c)
[<c002f1f8>] (warn_slowpath_null+0x18/0x1c) from [<bf100c00>]
(ath9k_htc_txstatus+0x28/0xc4 [ath9k_htc])
[<bf100c00>] (ath9k_htc_txstatus+0x28/0xc4 [ath9k_htc]) from [<bf0ff33c>]
(ath9k_wmi_event_tasklet+0xfc/0x108 [ath9k_htc])
[<bf0ff33c>] (ath9k_wmi_event_tasklet+0xfc/0x108 [ath9k_htc]) from [<c0033b40>]
(tasklet_action+0x64/0xb0)
[<c0033b40>] (tasklet_action+0x64/0xb0) from [<c0034110>]
(__do_softirq+0x68/0xf8)
[<c0034110>] (__do_softirq+0x68/0xf8) from [<c00342dc>] (irq_exit+0x40/0x8c)
[<c00342dc>] (irq_exit+0x40/0x8c) from [<c000e234>] (handle_IRQ+0x64/0x84)
[<c000e234>] (handle_IRQ+0x64/0x84) from [<c000d534>] (__irq_svc+0x34/0xa0)
[<c000d534>] (__irq_svc+0x34/0xa0) from [<c001d000>]
(omap3_enter_idle+0xf4/0x12c)
[<c001d000>] (omap3_enter_idle+0xf4/0x12c) from [<c001d174>]
(omap3_enter_idle_bm+0x13c/0x18c)
[<c001d174>] (omap3_enter_idle_bm+0x13c/0x18c) from [<c025ff48>]
(cpuidle_idle_call+0x98/0x120)
[<c025ff48>] (cpuidle_idle_call+0x98/0x120) from [<c000e8cc>]
(cpu_idle+0x40/0x94)
[<c000e8cc>] (cpu_idle+0x40/0x94) from [<c04c8758>] (start_kernel+0x27c/0x2cc)
---[ end trace 1b75b31a2719ed81 ]---
The driver was installed with the current firmware:
Nov 18 17:45:52 Device kernel: ath9k_htc 1-1:1.0: usb_probe_interface
Nov 18 17:45:52 Device kernel: ath9k_htc 1-1:1.0: usb_probe_interface - got id
Nov 18 17:45:52 Device kernel: usb 1-1: ath9k_htc: Transferred FW: htc_9271.fw,
size: 51272
Nov 18 17:45:52 Device kernel: ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized
with 33 credits
Nov 18 17:45:52 Device kernel: ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.3
Nov 18 17:45:52 Device kernel: Registered led device: ath9k_htc-phy0
Nov 18 17:45:52 Device kernel: usb 1-1: ath9k_htc: USB layer initialized
Nov 18 17:45:52 Device kernel: usbcore: registered new interface driver
ath9k_htc
Here is my uname:
Linux Device 3.2.0-rc2 #1 Fri Nov 18 12:42:51 EST 2011 armv7l GNU/Linux
And cpu info:
Processor : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 497.82
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc08
CPU revision : 3
Hardware : OMAP3 EVM
Revision : 0020
Serial : 0000000000000000
FWI: I did have to back-rev the drivers/usr/musb drivers to the 3.0.4 kernel
version to get them to work on the Omap. Some recent kernel work has left them
non-functional on kernel version 3.1 and greater.
Thanks,
Bob Bouterse
Software Engineer, Platform Developement
Multimedia Developement Center
D&M Holdings Inc.
_______________________________________________
Devel mailing list
[email protected]
http://open80211s.com/mailman/listinfo/devel
