On Mon, Jan 28, 2019 at 02:35:39PM +0100, Lorenzo Bianconi wrote: > > > > Maybe we shoud grub dev->mt76.mutex here, since we can have multiple processes trying > to add an interface Interface creation and deletion are protected by rtnl_lock(), can not be performed concurrently. > > @@ -318,8 +326,10 @@ void mt76x02_remove_interface(struct ieee80211_hw *hw, > > struct ieee80211_vif *vif) > > { > > struct mt76x02_dev *dev = hw->priv; > > + struct mt76x02_vif *mvif = (struct mt76x02_vif *)vif->drv_priv; > > > > mt76_txq_remove(&dev->mt76, vif->txq); > > + dev->vif_mask &= ~BIT(mvif->idx); > > If we are removing the first configured interface, should we have to update > MT_MAC_ADDR_DW{0,1} regs? What for ? Thanks Stanislaw