wifi: mac80211: clear vif drv_priv after remove_interface when stopping
Avoid reusing stale driver data when an interface is brought down and up again. In order to avoid having to duplicate the memset in every single driver, do it here. Signed-off-by: Felix Fietkau <nbd@nbd.name> Link: https://patch.msgid.link/20240704130947.48609-1-nbd@nbd.name Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
34ce9c8b8a
commit
574e609c4e
@ -689,8 +689,12 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, bool going_do
|
|||||||
|
|
||||||
fallthrough;
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
if (going_down)
|
if (!going_down)
|
||||||
drv_remove_interface(local, sdata);
|
break;
|
||||||
|
drv_remove_interface(local, sdata);
|
||||||
|
|
||||||
|
/* Clear private driver data to prevent reuse */
|
||||||
|
memset(sdata->vif.drv_priv, 0, local->hw.vif_data_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
ieee80211_recalc_ps(local);
|
ieee80211_recalc_ps(local);
|
||||||
|
Loading…
Reference in New Issue
Block a user