Message ID | 1621495354-4130-1-git-send-email-sean.wang@mediatek.com |
---|---|
State | New |
Headers | show |
Series | mt76: mt7921: fix UC entry is being overwritten | expand |
> From: Deren Wu <deren.wu@mediatek.com> > > Fix UC entry is being overwritten by BC entry > > Fixes: 36fcc8cff592 ("mt76: mt7921: introduce mt7921_mcu_sta_add routine") > Signed-off-by: Deren Wu <deren.wu@mediatek.com> > Signed-off-by: YN Chen <yn.chen@mediatek.com> > Signed-off-by: Sean Wang <sean.wang@mediatek.com> > --- > drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > index 73359defa176..f3decc59a6fe 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > @@ -875,10 +875,13 @@ int mt76_connac_mcu_add_sta_cmd(struct mt76_phy *phy, > if (IS_ERR(skb)) > return PTR_ERR(skb); > > - mt76_connac_mcu_sta_basic_tlv(skb, info->vif, info->sta, info->enable); > - if (info->enable && info->sta) > - mt76_connac_mcu_sta_tlv(phy, skb, info->sta, info->vif, > - info->rcpi); > + if (info->sta) { > + mt76_connac_mcu_sta_basic_tlv(skb, info->vif, info->sta, > + info->enable); > + if (info->enable) > + mt76_connac_mcu_sta_tlv(phy, skb, info->sta, > + info->vif, info->rcpi); > + } with this patch we are changing the mt7663 behaviour since we run mt76_connac_mcu_add_sta_cmd() in mt7615_remove_interface() with enable = false and sta = NULL. Can you please confirm you are not introducing any regression in mt7663? Regards, Lorenzo > > sta_wtbl = mt76_connac_mcu_add_tlv(skb, STA_REC_WTBL, > sizeof(struct tlv)); > -- > 2.25.1 >
On Sun, 2021-05-23 at 23:18 +0200, Lorenzo Bianconi wrote: > > From: Deren Wu <deren.wu@mediatek.com> > > > > Fix UC entry is being overwritten by BC entry > > > > Fixes: 36fcc8cff592 ("mt76: mt7921: introduce mt7921_mcu_sta_add routine") > > Signed-off-by: Deren Wu <deren.wu@mediatek.com> > > Signed-off-by: YN Chen <yn.chen@mediatek.com> > > Signed-off-by: Sean Wang <sean.wang@mediatek.com> > > --- > > drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 11 +++++++---- > > 1 file changed, 7 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > > index 73359defa176..f3decc59a6fe 100644 > > --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > > +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > > @@ -875,10 +875,13 @@ int mt76_connac_mcu_add_sta_cmd(struct mt76_phy *phy, > > if (IS_ERR(skb)) > > return PTR_ERR(skb); > > > > - mt76_connac_mcu_sta_basic_tlv(skb, info->vif, info->sta, info->enable); > > - if (info->enable && info->sta) > > - mt76_connac_mcu_sta_tlv(phy, skb, info->sta, info->vif, > > - info->rcpi); > > + if (info->sta) { > > + mt76_connac_mcu_sta_basic_tlv(skb, info->vif, info->sta, > > + info->enable); > > + if (info->enable) > > + mt76_connac_mcu_sta_tlv(phy, skb, info->sta, > > + info->vif, info->rcpi); > > + } > > with this patch we are changing the mt7663 behaviour since we run > mt76_connac_mcu_add_sta_cmd() in mt7615_remove_interface() with > enable = false and sta = NULL. Can you please confirm you are > not introducing any regression in mt7663? I think this also breaks mt7622, so please double check. > Regards, > Lorenzo > > > > > sta_wtbl = mt76_connac_mcu_add_tlv(skb, STA_REC_WTBL, > > sizeof(struct tlv)); > > -- > > 2.25.1 > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c index 73359defa176..f3decc59a6fe 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c @@ -875,10 +875,13 @@ int mt76_connac_mcu_add_sta_cmd(struct mt76_phy *phy, if (IS_ERR(skb)) return PTR_ERR(skb); - mt76_connac_mcu_sta_basic_tlv(skb, info->vif, info->sta, info->enable); - if (info->enable && info->sta) - mt76_connac_mcu_sta_tlv(phy, skb, info->sta, info->vif, - info->rcpi); + if (info->sta) { + mt76_connac_mcu_sta_basic_tlv(skb, info->vif, info->sta, + info->enable); + if (info->enable) + mt76_connac_mcu_sta_tlv(phy, skb, info->sta, + info->vif, info->rcpi); + } sta_wtbl = mt76_connac_mcu_add_tlv(skb, STA_REC_WTBL, sizeof(struct tlv));