Warnings/errors in use with a QCA989x card

Matthew Robbetts wingfeathera at gmail.com
Fri Jun 5 13:16:04 PDT 2015


Hi Michal,

Thanks for your reply!

> On Jun 4, 2015, at 22:17, Michal Kazior <michal.kazior at tieto.com> wrote:
> 
> On 5 June 2015 at 03:52, Matthew Robbetts <wingfeathera at gmail.com> wrote:
>> Hi all,
>> 
>> I’m sorry if the answer to this question is well known; my Google-fu is failing me in that case. My situation is as follows:
>> 
>> ----------------------------------------------------------------------------------------------------------------
>> 
>> I recently bought a Doodle Labs ACE-DB-3 miniPCIe card for use as a wireless access point in my linux router (A HP microserver, running Gentoo Linux, with a 4.0.4-hardened kernel. No PaX/GrSecurity features are enabled in my build of this kernel).
>> 
>> Everything is set up and appears to work as expected. However, after a day or two of hostapd uptime, I see the below sorts of stuff in my dmesg. If left, this will happen a number of times, and eventually no wifi devices will be able to connect anymore.
>> 
>> Restarting hostapd appears to reinitialize everything satisfactorily — but of course this happens again within another day or so.
>> 
>> As I said, I am running the 4.0.4 kernel, along with 10.2.4.48 from kvalo’s GitHub repo.
>> 
>> Am I doing something stupid with this card?
>> 
>> 
>> Thanks!
>> Matt
>> 
>> ----------------------------------------------------------------------------------------------------------------
>> 
>> [Thu Jun  4 11:07:03 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:03 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:03 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:03 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:03 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:03 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:04 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:04 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:04 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:04 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:06 2015] ------------[ cut here ]------------
>> [Thu Jun  4 11:07:06 2015] WARNING: CPU: 1 PID: 3517 at net/mac80211/sta_info.c:917 __sta_info_destroy_part2+0xd6/0x13f()
>> [Thu Jun  4 11:07:06 2015] Modules linked in: zfs(PO) zunicode(PO) zcommon(PO) znvpair(PO) spl(O) zavl(PO)
>> [Thu Jun  4 11:07:06 2015] CPU: 1 PID: 3517 Comm: hostapd Tainted: P           O    4.0.4-hardened-r1 #6
>> [Thu Jun  4 11:07:06 2015] Hardware name: HP ProLiant MicroServer, BIOS O41     07/29/2011
>> [Thu Jun  4 11:07:06 2015]  0000000000000009 ffff8803f878f578 ffffffff8177ab11 000000000000003c
>> [Thu Jun  4 11:07:06 2015]  0000000000000000 ffff8803f878f5b8 ffffffff8103cd21 0000000000000001
>> [Thu Jun  4 11:07:06 2015]  ffffffff81732b5c ffff880344f0b000 ffff88040cb9c680 ffff88040c1928c0
>> [Thu Jun  4 11:07:06 2015] Call Trace:
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8177ab11>] dump_stack+0x45/0x57
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8103cd21>] warn_slowpath_common+0x9c/0xb6
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81732b5c>] ? __sta_info_destroy_part2+0xd6/0x13f
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8103cdcf>] warn_slowpath_null+0x15/0x17
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81732b5c>] __sta_info_destroy_part2+0xd6/0x13f
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81732bea>] __sta_info_destroy+0x25/0x2f
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81732c82>] sta_info_destroy_addr_bss+0x37/0x57
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff817424dc>] ieee80211_del_station+0x18/0x25
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8170de39>] nl80211_del_station+0xd7/0x11f
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81626c7e>] genl_family_rcv_msg+0x246/0x2b8
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81626d2d>] genl_rcv_msg+0x3d/0x60
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81626cf0>] ? genl_family_rcv_msg+0x2b8/0x2b8
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8162634a>] netlink_rcv_skb+0x45/0x88
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81626945>] genl_rcv+0x24/0x34
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81625e88>] netlink_unicast+0x104/0x18b
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8162620a>] netlink_sendmsg+0x2fb/0x319
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8110e232>] ? copy_from_user+0xba/0xe2
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815cfb32>] __sock_sendmsg+0x42/0x4d
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815d1490>] sock_sendmsg+0x37/0x49
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815d1ca5>] ___sys_sendmsg+0x1d9/0x268
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815d0de9>] ? move_addr_to_user+0x51/0x67
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815d1e7f>] ? ___sys_recvmsg+0x14b/0x1be
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815cefb9>] ? sock_destroy_inode+0x2b/0x2f
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815cef8e>] ? sockfs_dname+0x1c/0x1c
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81123823>] ? destroy_inode+0x36/0x4f
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81104f21>] ? kmem_cache_free+0x49/0xd5
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff81125579>] ? __fget_light+0x27/0x48
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815d1fed>] __sys_sendmsg+0x3d/0x5b
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff815d2018>] SyS_sendmsg+0xd/0x17
>> [Thu Jun  4 11:07:06 2015]  [<ffffffff8178201e>] system_call_fastpath+0x12/0x17
>> [Thu Jun  4 11:07:06 2015] ---[ end trace e4f43c81ea50a3f3 ]---
>> [Thu Jun  4 11:07:08 2015] ath10k_warn: 40 callbacks suppressed
>> [Thu Jun  4 11:07:08 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:08 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:08 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:08 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:08 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:08 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:09 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:09 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:09 2015] ath10k_pci 0000:02:00.0: SWBA overrun on vdev 0, skipped old beacon
>> [Thu Jun  4 11:07:09 2015] ath10k_pci 0000:02:00.0: failed to transmit management frame via WMI: -11
>> [Thu Jun  4 12:05:32 2015] ath10k_warn: 19 callbacks suppressed
>> [Thu Jun  4 12:05:32 2015] ath10k_pci 0000:02:00.0: Spurious quick kickout for STA 04:db:56:e1:65:2f
>> [Thu Jun  4 12:55:54 2015] device wlp2s0 left promiscuous mode
> 
> This is the dreaded tx credit starvation.
> 
> In some cases if disassoc+deauth is sent and target station is asleep
> and unresponsive it'll cause firmware to stall causing ath10k timeouts
> during sta_state station removal. Due to insufficient credits beacons
> can't be sent for ~10 seconds, sta_state station removal fails causing
> mac80211 call trace splat and later spurious kickout events because
> peer was never removed from firmware.
> 
> There's no easy/sane fix for that, yet.

Ouch! I’m a little surprised though, I must say — aren't substantially all access points (ath10k/QCA989x and otherwise) subjected to stations which sometimes go away while asleep? How come this is not a showstopping problem for basically everyone?


> You can read more on the subject:
> 
> http://thread.gmane.org/gmane.linux.kernel.wireless.general/121954
> http://thread.gmane.org/gmane.linux.drivers.ath10k.devel/638
> 
> 
> Michał




More information about the ath10k mailing list