diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 3a279ded46c2..6a29877fd7b3 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -3589,7 +3589,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);