mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
Subsystems (3)
PATCH 1/1 mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
In mac80211_hwsim, the probe_req frame is created and sent while scanning. It is sent with ieee80211_tx_info which is not initialized. Uninitialized ieee80211_tx_info can cause problems when using mac80211_hwsim with wmediumd. wmediumd checks the tx_rates field of ieee80211_tx_info and doesn't relay probe_req frame to other clients even if it is a broadcasting message.
Call ieee80211_tx_prepare_skb() to initialize ieee80211_tx_info for the probe_req that is created by hw_scan_work in mac80211_hwsim.
--- drivers/net/wireless/mac80211_hwsim.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/net/wireless/mac80211_hwsim.c +7 -0
@@ -2336,6 +2336,13 @@ static void hw_scan_work(struct work_struct *work)if (req->ie_len)skb_put_data (probe, req->ie, req->ie_len); +if (!ieee80211_tx_prepare_skb (hwsim->hw, + hwsim->hw_scan_vif, + probe, + hwsim->tmp_chan->band, +NULL )) +continue ; +local_bh_disable ();mac80211_hwsim_tx_frame (hwsim->hw, probe, hwsim->tmp_chan);
Signature · 1 line
2.34.1.703.g22d0c6ccf7-goog
Hello,
Gentle ping on this patch.
Quoted 35 lines · JaeMan Park
In
mac80211_hwsim, theprobe_reqframe is created and sent while scanning. It is sent withieee80211_tx_infowhich is not initialized. Uninitializedieee80211_tx_infocan cause problems when usingmac80211_hwsimwith wmediumd. wmediumd checks thetx_ratesfield ofieee80211_tx_infoand doesn't relayprobe_reqframe to other clients even if it is a broadcasting message.Call
ieee80211_tx_prepare_skb()to initializeieee80211_tx_infofor theprobe_reqthat is created byhw_scan_workinmac80211_hwsim.Signed-off-by JaeMan Park <[email protected]>--- drivers/net/wireless/mac80211_hwsim.c | 7 +++++++ 1 file changed, 7 insertions(+)drivers/net/wireless/mac80211_hwsim.c +7
-1@@ -2336,6 +2336,13 @@ static void hw_scan_work(struct work_struct *work)if (req->ie_len)skb_put_data (probe, req->ie, req->ie_len); +if (!ieee80211_tx_prepare_skb (hwsim->hw, + hwsim->hw_scan_vif, + probe, + hwsim->tmp_chan->band, +NULL )) +continue ; +local_bh_disable ();mac80211_hwsim_tx_frame (hwsim->hw, probe, hwsim->tmp_chan); --
Quoted 2 lines
2.34.1.703.g22d0c6ccf7-goog
Thanks,
JaeMan