Search Linux Wireless

Re: [PATCH 04/15] mac80211: make channel context code MLO-aware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/1/2022 3:39 PM, Johannes Berg wrote:
From: Johannes Berg <johannes.berg@xxxxxxxxx>

Make the channel context code MLO aware, along with some
functions that it uses, so that the chan.c file is now
MLD-clean and no longer uses deflink/bss_conf/etc.

Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
...
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index f22381127948..b268088585eb 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -90,14 +90,17 @@ void rate_control_tx_status(struct ieee80211_local *local,
  }
void rate_control_rate_update(struct ieee80211_local *local,
-				    struct ieee80211_supported_band *sband,
-				    struct sta_info *sta, u32 changed)
+			      struct ieee80211_supported_band *sband,
+			      struct sta_info *sta, unsigned int link_id,
+			      u32 changed)
  {
  	struct rate_control_ref *ref = local->rate_ctrl;
  	struct ieee80211_sta *ista = &sta->sta;
  	void *priv_sta = sta->rate_ctrl_priv;
  	struct ieee80211_chanctx_conf *chanctx_conf;
+ WARN_ON(link_id != 0);
+
  	if (ref && ref->ops->rate_update) {
  		rcu_read_lock();

Why link_id must = 0 here?

Now I hit a warning here.

[421752.744684] wlan0: [link 1] AP 02:03:7f:01:52:26 changed bandwidth, new config is 6435.000 MHz, width 1 (6435.000/0 MHz)
[421752.744760] ------------[ cut here ]------------
[421752.744762] WARNING: CPU: 4 PID: 3844301 at net/mac80211/rate.c:104 rate_control_rate_update+0xe2/0x100 [mac80211] [421752.744833] Modules linked in: tls cpuid rfcomm ccm michael_mic cmac algif_hash algif_skcipher af_alg qrtr_mhi bnep intel_rapl_msr intel_rapl_common snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio edac_mce_amd snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg qrtr snd_hda_codec kvm_amd snd_hda_core binfmt_misc ath12k snd_hwdep kvm snd_pcm mhi irqbypass qmi_helpers nls_iso8859_1 snd_seq_midi crct10dif_pclmul btusb snd_seq_midi_event ghash_clmulni_intel mac80211 snd_rawmidi btrtl aesni_intel crypto_simd snd_seq cryptd btbcm btintel snd_seq_device rapl input_leds bluetooth joydev wmi_bmof serio_raw snd_timer cfg80211 k10temp ecdh_generic ecc snd libarc4 ccp soundcore ucsi_acpi typec_ucsi typec mac_hid cm32181 industrialio sch_fq_codel msr parport_pc ppdev lp parport ramoops reed_solomon drm efi_pstore ip_tables x_tables autofs4 ax88179_178a usbnet mii hid_generic usbhid hid crc32_pclmul nvme ahci i2c_piix4 libahci nvme_core wmi video [421752.744982] CPU: 4 PID: 3844301 Comm: kworker/u32:2 Kdump: loaded Tainted: G        W          6.0.0-rc2+ #3 [421752.744989] Hardware name: AMD Celadon-RN/Celadon-RN, BIOS RCD0080A 09/04/2019
[421752.744993] Workqueue: phy0 ieee80211_iface_work [mac80211]
[421752.745048] RIP: 0010:rate_control_rate_update+0xe2/0x100 [mac80211]
[421752.745100] Code: e8 f3 a3 33 d0 48 8b 73 50 44 89 f1 4c 89 ea 4c 89 ff e8 71 16 fe ff 48 83 c4 20 5b 41 5c 41 5d 41 5e 41 5f 5d e9 de 24 20 d1 <0f> 0b e9 4c ff ff ff 0f 0b e8 c0 a3 33 d0 eb dd 0f 1f 40 00 66 2e
[421752.745104] RSP: 0018:ffffadc0911efab0 EFLAGS: 00010202
[421752.745109] RAX: 0000000000000000 RBX: ffff9e8619b20000 RCX: 0000000000000001 [421752.745112] RDX: ffff9e8619b20000 RSI: ffff9e8412ac3610 RDI: ffff9e8412ac08e0 [421752.745115] RBP: ffffadc0911efaf8 R08: 0000000000000001 R09: c000000100b1fe35 [421752.745117] R10: ffff9e8412ac04f0 R11: ffffadc0911ef9c0 R12: 0000000000000000 [421752.745120] R13: ffff9e8619b20ab0 R14: 0000000000000001 R15: ffff9e8412ac08e0 [421752.745123] FS:  0000000000000000(0000) GS:ffff9e86ff700000(0000) knlGS:0000000000000000
[421752.745127] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[421752.745130] CR2: 00007f03cdb34538 CR3: 00000002f020a000 CR4: 0000000000350ee0
[421752.745133] Call Trace:
[421752.745137]  <TASK>
[421752.745147]  ieee80211_chan_bw_change+0x100/0x130 [mac80211]
[421752.745213]  ieee80211_change_chanctx+0x51/0x2a0 [mac80211]
[421752.745263]  ieee80211_recalc_chanctx_chantype+0x133/0x180 [mac80211]
[421752.745287]  ieee80211_link_change_bandwidth+0xf5/0x180 [mac80211]
[421752.745306]  ieee80211_rx_mgmt_beacon+0xc82/0x1b30 [mac80211]
[421752.745333]  ? update_load_avg+0x224/0x770
[421752.745338]  ? update_load_avg+0x224/0x770
[421752.745339]  ? native_send_call_func_single_ipi+0x1e/0x30
[421752.745344]  ieee80211_sta_rx_queued_mgmt+0x173/0xad0 [mac80211]
[421752.745364]  ? newidle_balance+0x256/0x410
[421752.745367]  ? preempt_count_add+0x7c/0xc0
[421752.745370]  ? _raw_spin_lock_irqsave+0x28/0x60
[421752.745375]  ieee80211_iface_work+0x2fc/0x400 [mac80211]
[421752.745395]  process_one_work+0x227/0x440
[421752.745398]  worker_thread+0x31/0x3e0
[421752.745400]  ? process_one_work+0x440/0x440
[421752.745402]  kthread+0xfe/0x130
[421752.745404]  ? kthread_complete_and_exit+0x20/0x20
[421752.745407]  ret_from_fork+0x22/0x30
[421752.745412]  </TASK>
[421752.745412] ---[ end trace 0000000000000000 ]---

...




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux