Warnings/errors in use with a QCA989x card

Michal Kazior michal.kazior at tieto.com
Thu Jun 4 22:17:41 PDT 2015


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.

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