Skip to content

Commit

Permalink
mt7615: remove vif sta from poll list on interface remove
Browse files Browse the repository at this point in the history
Signed-off-by: Felix Fietkau <nbd@nbd.name>
  • Loading branch information
nbd168 committed Oct 11, 2019
1 parent 2a0a191 commit dc14ac6
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion mt7615/main.c
Expand Up @@ -121,8 +121,9 @@ static void mt7615_remove_interface(struct ieee80211_hw *hw,
struct ieee80211_vif *vif)
{
struct mt7615_vif *mvif = (struct mt7615_vif *)vif->drv_priv;
struct mt7615_sta *msta = &mvif->sta;
struct mt7615_dev *dev = hw->priv;
int idx = mvif->sta.wcid.idx;
int idx = msta->wcid.idx;

/* TODO: disable beacon for the bss */

Expand All @@ -135,6 +136,11 @@ static void mt7615_remove_interface(struct ieee80211_hw *hw,
dev->vif_mask &= ~BIT(mvif->idx);
dev->omac_mask &= ~BIT(mvif->omac_idx);
mutex_unlock(&dev->mt76.mutex);

spin_lock_bh(&dev->sta_poll_lock);
if (!list_empty(&msta->poll_list))
list_del_init(&msta->poll_list);
spin_unlock_bh(&dev->sta_poll_lock);
}

static int mt7615_set_channel(struct mt7615_dev *dev)
Expand Down

0 comments on commit dc14ac6

Please sign in to comment.