ATH11K, firmware CRASH after sending WMI_PEER_CONFIG_VLAN_CMDID
Aliliche Larbi
alilichelarbi at gmail.com
Tue Feb 17 03:04:58 PST 2026
Hello all,
I had a crash after trying to send WMI_PEER_CONFIG_VLAN_CMDID to
disable vlan strip for my inline vlan tag (this later is dropped by
the firmware)
int ath11k_wmi_set_vlan_rx_strip(struct ath11k *ar, const u8 *peer_addr,
+ u32 vdev_id, bool strip)
+{
+ struct ath11k_pdev_wmi *wmi = ar->wmi;
+ struct wmi_peer_config_vlan_cmd_fixed_param *cmd;
+ struct sk_buff *skb;
+ int ret;
+
+ skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
+ if (!skb)
+ return -ENOMEM;
+
+ cmd = (struct wmi_peer_config_vlan_cmd_fixed_param *)skb->data;
+ cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_PEER_SET_PARAM_CMD) |
+ FIELD_PREP(WMI_TLV_LEN, sizeof(*cmd) - TLV_HDR_SIZE);
+ ether_addr_copy(cmd->peer_macaddr.addr, peer_addr);
+ cmd->vdev_id = vdev_id;
+ cmd->insert_vlan_tci = 0;
+ cmd->peer_vlan_config_mask = 1 << 1; // indicates setting of vlan rx
+ if (strip)
+ cmd->peer_vlan_config_mask |= 1 << 5; // c_tag (enabled by default)
+
+ ret = ath11k_wmi_cmd_send(wmi, skb, WMI_PEER_CONFIG_VLAN_CMDID);
+ if (ret) {
+ ath11k_warn(ar->ab, "failed to send WMI_PEER_CONFIG_VLAN_CMDID cmd\n");
+ dev_kfree_skb(skb);
+ }
+
+ ath11k_dbg(
+ ar->ab, ATH11K_DBG_WMI,
+ "cmd peer config vlan vdev %d peer 0x%pM set rx strip %d\n",
+ vdev_id, peer_addr, strip);
+
+ return ret;
+}
I called this function after association : WMI_PEER_ASSOC_CONF_EVENTID
I got a crash.:
[ 134.881569] AL >>>>>>>>>>>>>> start ath11k_wmi_set_vlan_rx_strip()
[ 134.887765] AL >> return in the function ath11k_wmi_set_vlan_rx_strip()
[ 134.894382] AL >> start ath11k_wmi_cmd_send()
[ 134.898744] AL >> start ath11k_wmi_cmd_send_nowait()
[ 134.903716] AL >> get out ath11k_wmi_cmd_send_nowait()
[ 134.908948] AL >> go out from ath11k_wmi_cmd_send()
[ 134.913922] AL >> cmd peer config vlan vdev 0 peer
0x00:09:90:01:5a:17 set tx strip 0
[ 134.921762] AL >>>>>>>>>>>>>> out from
ath11k_wmi_set_vlan_rx_strip() with ret=0
But after that , it fails to associate.
135.276059] AL >> go out from ath11k_wmi_cmd_send()
[ 135.281068] AL >> start ath11k_wmi_cmd_send()
[ 135.285440] AL >> start ath11k_wmi_cmd_send_nowait()
[ 135.290413] AL >> get out ath11k_wmi_cmd_send_nowait()
[ 135.295647] AL >> go out from ath11k_wmi_cmd_send()
[ 136.312790] ath11k_pci 0001:01:00.0: failed to get peer assoc conf
event for 00:09:90:01:5a:17 vdev 0
[ 136.322045] ath11k_pci 0001:01:00.0: Failed to associate station:
00:09:90:01:5a:17
[ 136.329783] AL >> start ath11k_wmi_cmd_send()
[ 136.334150] AL >> start ath11k_wmi_cmd_send_nowait()
[ 136.339125] AL >> get out ath11k_wmi_cmd_send_nowait()
[ 136.344358] AL >> go out from ath11k_wmi_cmd_send()
[ 139.384778] ath11k_pci 0001:01:00.0: failed wait for peer deleted
[ 139.390904] ath11k_pci 0001:01:00.0: Failed to delete peer:
00:09:90:01:5a:17 for VDEV: 0
[ 139.399097] ath11k_pci 0001:01:00.0: Failed to remove station:
00:09:90:01:5a:17 for VDEV: 0
[ 139.407544] ath11k_pci 0001:01:00.0: Found peer entry
00:09:90:02:fe:65 n vdev 0 after it was supposedly removed
[ 139.417731] ------------[ cut here ]------------
[ 139.422354] WARNING: CPU: 1 PID: 3553 at
../mac80211-regular/backports-6.11.2/net/mac80211/sta_info.c:789
sta_info_insert_rcu+0x53c/0x6b8 [mac80211]
[ 139.435792] Modules linked in: pppoe ppp_async ath12k(O)
ath11k_pci(O) ath11k(O) qmi_wwan pppox ppp_generic nft_fib_inet
nf_flow_table_inet mac80211(O) ipt_REJECT cfg80211(O) xt_time
xt_tcpudp xt_tcpmss xt_statistic xt_state xt_recent xt_multiport
xt_mark xt_mac xt_limit xt_length xt_hl xt_helper xt_ecn xt_dscp
xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment
xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface usbnet
ts_kmp ts_fsm ts_bm slhc qrtr_mhi qrtr qmi_helpers(O) nft_reject_ipv6
nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota
nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash
nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_compat
nft_chain_nat nf_tables nf_reject_ipv4 nf_nat nf_log_syslog
nf_flow_table nf_conncount mhi mdio_netlink(O) iptable_mangle
iptable_filter ipt_ECN ip_tables crc_ccitt compat(O) cdc_wdm sch_teql
sch_sfq sch_multiq sch_gred sch_fq sch_codel em_text em_nbyte em_meta
em_cmp act_skbmod act_simple act_pedit act_csum libcrc32c act_connmark
[ 139.436124] nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 sch_tbf
sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_route cls_matchall
cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact xt_set
ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport
ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net
ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip
ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ipmac ip_set_hash_ip
ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set
nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT
x_tables nf_reject_ipv6 bonding ip6_gre ip_gre gre ip6_vti ip_vti
ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 ip6_tunnel
tunnel6 tunnel4 ip_tunnel tun xfrm_user xfrm_ipcomp af_key xfrm_algo
gpy215 ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng
algif_hash algif_aead af_alg sha512_generic sha256_generic libsha256
sha1_generic seqiv sha3_generic drbg pcbc michael_mic md5 md4 kpp hmac
ehainiv geniv rng ecb des_generic libdes deflate
[ 139.526243] zlib_deflate cts cmac chacha20poly1305 cbc authencesn
authenc arc4 crypto_acompress mii
[ 139.625203] CPU: 1 PID: 3553 Comm: hostapd Tainted: G O
6.6.62 #0
[ 139.632691] Stack : ffffffff81375640 ffffffff80fc86a8
8000000001f6b750 800000002051cd80
[ 139.640710] 0000000000000000 80000000239a74f0
ffffffff810fca78 80000000239a74b0
[ 139.648725] 0000000000000000 ffffffff81375440
0000000000057fa8 c0000000ffffefff
[ 139.656742] 80000000239a7688 0000000000000000
0000000000000000 0000000000000000
[ 139.664757] ffffffff810fca78 0000000000000001
0000000000000000 0000000000000009
[ 139.672772] 0000000000000315 0000000000000000
ffffffff81c0bd30 0000000000000003
[ 139.680789] 80000000a39a7317 ffffffff80bc3750
0000000000000008 ffffffff81de0008
[ 139.688805] 80000000239a4000 80000000239a74f0
ffffffffc07d0430 ffffffff80fc86a8
[ 139.696821] 0000000000000000 0000000000000000
0000000000000000 7bec4bfb953bfc00
[ 139.704835] ffffffff810fca78 ffffffff8066308c
80000000032f8000 ffffffff80fc860c
[ 139.712852] ...
[ 139.715302] Call Trace:
[ 139.717748] [<ffffffff8066308c>] show_stack+0x34/0x100
[ 139.722901] [<ffffffff80fc86a8>] dump_stack_lvl+0x58/0x78
[ 139.728305] [<ffffffff80684328>] __warn+0xa8/0x168
[ 139.733106] [<ffffffff80684530>] warn_slowpath_fmt+0x148/0x1c0
[ 139.738948] [<ffffffffc07d830c>] sta_info_insert_rcu+0x53c/0x6b8 [mac80211]
[ 139.746063] [<ffffffffc07d84b4>] sta_info_insert+0x2c/0x38 [mac80211]
[ 139.752621] [<ffffffffc074bfa8>]
cfg80211_update_owe_info_event+0x16d0/0x1858 [cfg80211]
[ 139.760838]
[ 139.762348] ---[ end trace 0000000000000000 ]---
More information about the ath11k
mailing list