diff mbox series

mt76: mt7921: fix UC entry is being overwritten

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

Commit Message

Sean Wang May 20, 2021, 7:22 a.m. UTC
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(-)

Comments

Lorenzo Bianconi May 23, 2021, 9:18 p.m. UTC | #1
> 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

>
Ryder Lee May 24, 2021, 5:52 p.m. UTC | #2
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 mbox series

Patch

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));