From: Johannes Berg Date: Wed, 5 Feb 2025 09:39:22 +0000 (+0200) Subject: wifi: mac80211: don't unconditionally call drv_mgd_complete_tx() X-Git-Tag: v6.15-rc1~160^2~184^2~46 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1798271b3604b902d45033ec569f2bf77e94ecc2;p=thirdparty%2Flinux.git wifi: mac80211: don't unconditionally call drv_mgd_complete_tx() We might not have called drv_mgd_prepare_tx(), so only call drv_mgd_complete_tx() under the same conditions. Signed-off-by: Johannes Berg Reviewed-by: Emmanuel Grumbach Signed-off-by: Miri Korenblit Link: https://patch.msgid.link/20250205110958.e091fc39a351.Ie6a3cdca070612a0aa4b3c6914ab9ed602d1f456@changeid Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index bb3e42afd34ef..1d118c30948d1 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -3976,7 +3976,8 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata, if (tx) ieee80211_flush_queues(local, sdata, false); - drv_mgd_complete_tx(sdata->local, sdata, &info); + if (tx || frame_buf) + drv_mgd_complete_tx(sdata->local, sdata, &info); /* clear AP addr only after building the needed mgmt frames */ eth_zero_addr(sdata->deflink.u.mgd.bssid);