mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
mt76x0: fix remove_interface
We wrongly use wcid_mask instead of vif_mask. This creates problems
when the interface is removed more than 8 times, for example with iw:
iw dev <devname> interface add <name> type <type>
iw dev <name> del
This caused 'ifconfig up' to fail with error:
SIOCSIFFLAGS: No space left on device
Fixes: 95e444098a ("mt76x0: main file")
Reported-and-tested-by: Sid Hayn <sidhayn@gmail.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
5b394b2ddf
commit
3341ba9f0f
|
|
@ -77,9 +77,8 @@ static void mt76x0_remove_interface(struct ieee80211_hw *hw,
|
|||
{
|
||||
struct mt76x0_dev *dev = hw->priv;
|
||||
struct mt76_vif *mvif = (struct mt76_vif *) vif->drv_priv;
|
||||
unsigned int wcid = mvif->group_wcid.idx;
|
||||
|
||||
dev->wcid_mask[wcid / BITS_PER_LONG] &= ~BIT(wcid % BITS_PER_LONG);
|
||||
dev->vif_mask &= ~BIT(mvif->idx);
|
||||
}
|
||||
|
||||
static int mt76x0_config(struct ieee80211_hw *hw, u32 changed)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user