struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76);
struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
- unsigned long rem;
- rem = ieee80211_vif_is_mld(vif) ? msta->valid_links : BIT(0);
-
- mt7925_mac_sta_remove_links(dev, vif, sta, rem);
-
- if (ieee80211_vif_is_mld(vif))
+ if (ieee80211_vif_is_mld(vif)) {
+ mt7925_mac_sta_remove_links(dev, vif, sta, msta->valid_links);
mt7925_mcu_del_dev(mdev, vif);
+ } else {
+ mt7925_mac_link_sta_remove(mdev, vif, &sta->deflink,
+ &msta->deflink);
+ }
if (vif->type == NL80211_IFTYPE_STATION) {
mvif->wep_sta = NULL;