All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Johannes Berg <johannes.berg@intel.com>
Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>,
	linux-wireless@vger.kernel.org
Subject: wifi: mac80211: lockdep splat with 6.7-rc1
Date: Tue, 14 Nov 2023 16:50:55 +0100	[thread overview]
Message-ID: <ZVOXX6qg4vXEx8dX@hovoldconsulting.com> (raw)

Hi,

I get the lockdep splat below when booting 6.7-rc1 with ath11k (Lenovo
ThinkPad X13s).

It's the new assert added by commit 0e8185ce1dde ("wifi: mac80211: check
wiphy mutex in ops") which triggers in drv_get_txpower().

Naively adding locking around the call in ieee80211_get_tx_power()
(e.g. similar to 6b348f6e34ce ("wifi: mac80211: ethtool: always hold
wiphy mutex")) does not work as there are other paths that call this
function with the lock held, specifically via ieee80211_register_hw().

Johan


[    7.122642] ------------[ cut here ]------------
[    7.125125] WARNING: CPU: 1 PID: 453 at net/mac80211/driver-ops.h:1262 ieee80211_get_tx_power+0x19c/0x1c0 [mac80211]
[    7.126869] Modules linked in: cbc des_generic libdes algif_skcipher md5 algif_hash af_alg r8152(+) mii ip6_tables x
t_LOG nf_log_syslog ipt_REJECT nf_reject_ipv4 xt_tcpudp xt_conntrack nf_conntrack libcrc32c nf_defrag_ipv6 nf_defrag_ip
v4 snd_q6apm(+) iptable_filter qrtr_mhi panel_edp snd_soc_hdmi_codec venus_dec venus_enc videobuf2_dma_contig videobuf2
_memops apr rpmsg_ctrl rpmsg_char qrtr_smd fastrpc qcom_pm8008_regulator venus_core ath11k_pci qcom_battmgr pmic_glink_
altmode ath11k snd_soc_wcd938x v4l2_mem2mem hci_uart mac80211 leds_qcom_lpg snd_soc_wcd_classh libarc4 btqca videobuf2_
v4l2 led_class_multicolor snd_soc_wcd938x_sdw videodev regmap_sdw bluetooth snd_soc_lpass_rx_macro videobuf2_common snd
_soc_lpass_va_macro snd_soc_lpass_tx_macro snd_soc_lpass_wsa_macro snd_soc_sc8280xp msm cfg80211 qcom_spmi_adc_tm5 snd_
soc_qcom_common soundwire_qcom snd_soc_wcd_mbhc ecdh_generic snd_soc_qcom_sdw snd_soc_lpass_macro_common qcom_spmi_adc5
 qcom_spmi_temp_alarm gpu_sched ecc phy_qcom_qmp_combo mc qcom_pon
[    7.127338]  drm_display_helper gpio_sbu_mux drm_dp_aux_bus snd_soc_core reboot_mode qcom_pm8008 mhi rtc_pm8xxx drm_
kms_helper industrialio rfkill mfd_core dispcc_sc8280xp nvmem_qcom_spmi_sdam qcom_vadc_common typec qcom_stats snd_comp
ress qcom_q6v5_pas regmap_i2c llcc_qcom phy_qcom_edp icc_bwmon pinctrl_sc8280xp_lpass_lpi snd_pcm videocc_sm8350 phy_qc
om_qmp_usb qcom_pil_info snd_timer phy_qcom_snps_femto_v2 gpucc_sc8280xp qcom_common qrtr pinctrl_lpass_lpi lpasscc_sc8
280xp snd qcom_glink_smem qcom_q6v5 soundcore qcom_rng pmic_glink qcom_sysmon soundwire_bus pdr_interface mdt_loader rn
g_core icc_osm_l3 qmi_helpers qcom_wdt socinfo pwm_bl dm_mod ip_tables x_tables ipv6 pcie_qcom crc8 phy_qcom_qmp_pcie n
vme nvme_core hid_multitouch i2c_qcom_geni i2c_hid_of i2c_hid drm i2c_core
[    7.127494] CPU: 1 PID: 453 Comm: iwd Not tainted 6.7.0-rc1 #4
[    7.127501] Hardware name: LENOVO 21BYZ9SRUS/21BYZ9SRUS, BIOS N3HET53W (1.25 ) 10/12/2022
[    7.127506] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    7.127513] pc : ieee80211_get_tx_power+0x19c/0x1c0 [mac80211]
[    7.127603] lr : ieee80211_get_tx_power+0x198/0x1c0 [mac80211]
[    7.127682] sp : ffff8000821e36c0
[    7.127686] x29: ffff8000821e36c0 x28: ffff08bb443dcd00 x27: 0000000000000000
[    7.127696] x26: ffffa0d9a6fb6638 x25: ffff08bb58ad0700 x24: 0000000000000000
[    7.127706] x23: ffffa0d9b3cc0b80 x22: ffff8000821e3784 x21: ffff08bb58ad0000
[    7.127715] x20: ffff08bb57a4cb10 x19: ffff08bb58ad0e40 x18: 0000000000000002
[    7.127724] x17: 0000000000000000 x16: ffffa0d9b3629db8 x15: 0000000000000002
[    7.127732] x14: 0000000000000000 x13: 00000000fffffffc x12: 0000000000000000
[    7.127741] x11: 0000000000000010 x10: ffffa0d9b45d7258 x9 : 0000000000000000
[    7.127750] x8 : ffff08bb4d663200 x7 : 0000000000000000 x6 : 0000000000000078
[    7.127759] x5 : ffffa0d9b3ec0000 x4 : ffff08bb4d663200 x3 : 0000000000000000
[    7.127767] x2 : ffff67ece049d000 x1 : 0000000000000000 x0 : 0000000000000000
[    7.127777] Call trace:
[    7.127780]  ieee80211_get_tx_power+0x19c/0x1c0 [mac80211]
[    7.127859]  nl80211_send_iface+0x208/0x6a4 [cfg80211]
[    7.127946]  nl80211_dump_interface+0x120/0x254 [cfg80211]
[    7.128027]  genl_dumpit+0x48/0xcc
[    7.128045]  netlink_dump+0x120/0x3c4
[    7.128051]  __netlink_dump_start+0x198/0x2c8
[    7.128057]  genl_family_rcv_msg_dumpit+0x88/0x114
[    7.128063]  genl_rcv_msg+0x118/0x28c
[    7.128069]  netlink_rcv_skb+0x58/0x13c
[    7.128075]  genl_rcv+0x38/0x50
[    7.128080]  netlink_unicast+0x1d4/0x2c0
[    7.128086]  netlink_sendmsg+0x1ac/0x414
[    7.128092]  __sys_sendto+0x130/0x184
[    7.128098]  __arm64_sys_sendto+0x28/0x38
[    7.128102]  invoke_syscall+0x48/0x114
[    7.128113]  el0_svc_common.constprop.0+0xc0/0xe0
[    7.128120]  do_el0_svc+0x1c/0x28
[    7.128127]  el0_svc+0x48/0xd8
[    7.128136]  el0t_64_sync_handler+0xc0/0xc4
[    7.128143]  el0t_64_sync+0x190/0x194
[    7.128148] irq event stamp: 44690
[    7.128152] hardirqs last  enabled at (44689): [<ffffa0d9b2ef6adc>] __kmalloc_large_node+0x120/0x194
[    7.128162] hardirqs last disabled at (44690): [<ffffa0d9b3627f78>] el1_dbg+0x24/0x8c
[    7.128170] softirqs last  enabled at (39582): [<ffffa0d9a737b0d4>] ieee80211_get_txq_stats+0xb0/0x1ac [mac80211]
[    7.128252] softirqs last disabled at (39580): [<ffffa0d9a737b060>] ieee80211_get_txq_stats+0x3c/0x1ac [mac80211]
[    7.128331] ---[ end trace 0000000000000000 ]---

             reply	other threads:[~2023-11-14 15:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-14 15:50 Johan Hovold [this message]
2023-11-14 17:02 ` wifi: mac80211: lockdep splat with 6.7-rc1 Johannes Berg
2023-11-15  7:34   ` Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZVOXX6qg4vXEx8dX@hovoldconsulting.com \
    --to=johan@kernel.org \
    --cc=emmanuel.grumbach@intel.com \
    --cc=johannes.berg@intel.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.