TP-Link TL-WN722N using ath9k_htc throws endless stream of stack trace

Open
#4,199 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
c, linux

Research direction

Start with the reported usb_submit_urb to ath9k_htc call chain and compare behavior between the 5.4.69 and 5.10.20 kernels on the Raspberry Pi Zero setup. Reproduce the USB connection and scan-abort path, then verify that the interface works without repeated stack traces or rapid system-log growth.

Written by the indexing model from the issue text.

Description

As soon as the wifi interface is plugged into a USB port (on a USB hub) for a rpi0 1.3, it throws an endless stream of stack trace in the system log:

kernel: CPU: 0 PID: 291 Comm: wpa_supplicant Tainted: G        WC        5.10.20-1-ARCH #1
kernel: Hardware name: BCM2835
kernel: [<8010efec>] (unwind_backtrace) from [<8010ae48>] (show_stack+0x10/0x14)
kernel: [<8010ae48>] (show_stack) from [<80d07820>] (dump_stack+0xd0/0xf8)
kernel: [<80d07820>] (dump_stack) from [<8012bd94>] (__warn+0xd4/0x140)
kernel: [<8012bd94>] (__warn) from [<80cff234>] (warn_slowpath_fmt+0x74/0xa8)
kernel: [<80cff234>] (warn_slowpath_fmt) from [<809f0074>] (usb_submit_urb+0x31c/0x530)
kernel: [<809f0074>] (usb_submit_urb) from [<7f45b8b4>] (hif_usb_send+0x164/0x304 [ath9k_htc])
kernel: [<7f45b8b4>] (hif_usb_send [ath9k_htc]) from [<7f45cf34>] (ath9k_wmi_cmd+0x114/0x188 [ath9k_htc])
kernel: [<7f45cf34>] (ath9k_wmi_cmd [ath9k_htc]) from [<7f462f74>] (ath9k_regwrite_flush+0xac/0xc8 [ath9k_htc])
kernel: [<7f462f74>] (ath9k_regwrite_flush [ath9k_htc]) from [<7f3ee034>] (ath9k_hw_set_reset+0x1fc/0x450 [ath9k_hw])
kernel: [<7f3ee034>] (ath9k_hw_set_reset [ath9k_hw]) from [<7f3f098c>] (ath9k_hw_reset+0x1ac/0x15c0 [ath9k_hw])
kernel: [<7f3f098c>] (ath9k_hw_reset [ath9k_hw]) from [<7f460d0c>] (ath9k_htc_config+0x204/0x668 [ath9k_htc])
kernel: [<7f460d0c>] (ath9k_htc_config [ath9k_htc]) from [<7f31a14c>] (ieee80211_hw_config+0x240/0x420 [mac80211])
kernel: [<7f31a14c>] (ieee80211_hw_config [mac80211]) from [<7f326e28>] (__ieee80211_scan_completed+0xac/0x2ac [mac80211])
kernel: [<7f326e28>] (__ieee80211_scan_completed [mac80211]) from [<7f327ce8>] (ieee80211_scan_cancel+0x78/0x20c [mac80211])
kernel: [<7f327ce8>] (ieee80211_scan_cancel [mac80211]) from [<7f26b154>] (nl80211_abort_scan+0x50/0x138 [cfg80211])
kernel: [<7f26b154>] (nl80211_abort_scan [cfg80211]) from [<80bf7d58>] (genl_rcv_msg+0x174/0x358)
kernel: [<80bf7d58>] (genl_rcv_msg) from [<80bf6efc>] (netlink_rcv_skb+0xbc/0x11c)
kernel: [<80bf6efc>] (netlink_rcv_skb) from [<80bf74e8>] (genl_rcv+0x20/0x34)
kernel: [<80bf74e8>] (genl_rcv) from [<80bf6570>] (netlink_unicast+0x220/0x38c)
kernel: [<80bf6570>] (netlink_unicast) from [<80bf68ac>] (netlink_sendmsg+0x1d0/0x400)
kernel: [<80bf68ac>] (netlink_sendmsg) from [<80b70f28>] (____sys_sendmsg+0x1a4/0x244)
kernel: [<80b70f28>] (____sys_sendmsg) from [<80b72b98>] (___sys_sendmsg+0xa4/0xd8)
kernel: [<80b72b98>] (___sys_sendmsg) from [<80b72d70>] (sys_sendmsg+0x50/0x94)
kernel: [<80b72d70>] (sys_sendmsg) from [<80100234>] (__sys_trace_return+0x0/0x2c)
kernel: Exception stack(0x87613fa8 to 0x87613ff0)
kernel: 3fa0:                   00000004 76f15ec0 00000004 7ef60af8 00000000 00000000
kernel: 3fc0: 00000004 76f15ec0 021241d8 00000128 76ed6c60 00000001 00000004 00756c0c
kernel: 3fe0: 76ed6d30 7ef60ab0 76a4bc34 76a4bc50
kernel: ---[ end trace d1018ec3a12b257d ]---

using archlinux arm (armv6h) with 5.10.20 kernel

the interface is listed in ip link output, but is not funcitonnal.
The system log grows fast because of the stack trace.

Using the same system and packages, I used the kernel packages I had in the pacman cache, to roll back the kernel to an older version.
I had to go as far as 5.4.69 kernel to get a working interface.
With that kernel, no stack trace, and the interface is working fine.

With 5.4.70, it is not working.I have not tested the other 5.4.x. package I have above 5.4.70.
All the other 5.10.y fail to

Something happened between 5.4.69 and 5.4.70

EDIT
Well, the picture is not that clear. The interface is working but the stack traces are still there too...

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.