projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
aa3ce3f
)
wifi: mac80211: ibss: stop transmit when merging IBSS
author
Johannes Berg
<johannes.berg@intel.com>
Thu, 2 Jan 2025 14:20:07 +0000
(16:20 +0200)
committer
Johannes Berg
<johannes.berg@intel.com>
Mon, 13 Jan 2025 14:34:10 +0000
(15:34 +0100)
We disable the carrier, but that doesn't immediately take
effect, and as such a concurrent transmit can go into the
driver while drv_leave_ibss() is happening and confuse it.
Synchronize to avoid that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link:
https://patch.msgid.link/20250102161730.83b58167e80e.I538751fbe1b4302d20f6ed80afb024bca6a2dbf5@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ibss.c
patch
|
blob
|
blame
|
history
diff --git
a/net/mac80211/ibss.c
b/net/mac80211/ibss.c
index a1b4178deccf3c2893c860a5a2a2797e69b07291..dfa125219e472a5ba70c6e4c0c8d021e6b712259 100644
(file)
--- a/
net/mac80211/ibss.c
+++ b/
net/mac80211/ibss.c
@@
-245,6
+245,7
@@
static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
sdata->vif.cfg.ibss_creator = false;
sdata->vif.bss_conf.enable_beacon = false;
netif_carrier_off(sdata->dev);
+ synchronize_net();
ieee80211_bss_info_change_notify(sdata,
BSS_CHANGED_IBSS |
BSS_CHANGED_BEACON_ENABLED);