diff mbox series

wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command

Message ID 20240307110815.527-1-mingyen.hsieh@mediatek.com (mailing list archive)
State Accepted
Delegated to: Felix Fietkau
Headers show
Series wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command | expand

Commit Message

Mingyen Hsieh March 7, 2024, 11:08 a.m. UTC
From: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>

Before sending suspend & wow command to FW, its length should be
4-bytes alignd.

Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
---
 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 1 +
 drivers/net/wireless/mediatek/mt76/mt7925/mcu.h      | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Lorenzo Bianconi March 7, 2024, 11:17 a.m. UTC | #1
> From: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
> 
> Before sending suspend & wow command to FW, its length should be
> 4-bytes alignd.
> 
> Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
> ---
>  drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 1 +
>  drivers/net/wireless/mediatek/mt76/mt7925/mcu.h      | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> index af0c2b2aacb0..ef29d093f9c3 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> @@ -2527,6 +2527,7 @@ int mt76_connac_mcu_set_hif_suspend(struct mt76_dev *dev, bool suspend)
>  			__le16 tag;
>  			__le16 len;
>  			u8 suspend;
> +			u8 pad[7];

mt76_connac_mcu_set_hif_suspend() is used even by other drv (e.g. mt7615). Is
this change backward compatible?

Regards,
Lorenzo

>  		} __packed hif_suspend;
>  	} req = {
>  		.hif_suspend = {
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> index 2a0bbfe7bfa5..b8315a89f4a9 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> @@ -535,7 +535,7 @@ struct mt7925_wow_pattern_tlv {
>  	u8 offset;
>  	u8 mask[MT76_CONNAC_WOW_MASK_MAX_LEN];
>  	u8 pattern[MT76_CONNAC_WOW_PATTEN_MAX_LEN];
> -	u8 rsv[4];
> +	u8 rsv[7];
>  } __packed;
>  
>  static inline enum connac3_mcu_cipher_type
> -- 
> 2.18.0
>
Mingyen Hsieh March 8, 2024, 5:06 a.m. UTC | #2
On Thu, 2024-03-07 at 12:17 +0100, Lorenzo Bianconi wrote:
> > From: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
> > 
> > Before sending suspend & wow command to FW, its length should be
> > 4-bytes alignd.
> > 
> > Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
> > ---
> >  drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 1 +
> >  drivers/net/wireless/mediatek/mt76/mt7925/mcu.h      | 2 +-
> >  2 files changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> > b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> > index af0c2b2aacb0..ef29d093f9c3 100644
> > --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> > +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> > @@ -2527,6 +2527,7 @@ int mt76_connac_mcu_set_hif_suspend(struct
> > mt76_dev *dev, bool suspend)
> >  			__le16 tag;
> >  			__le16 len;
> >  			u8 suspend;
> > +			u8 pad[7];
> 
> mt76_connac_mcu_set_hif_suspend() is used even by other drv (e.g.
> mt7615). Is
> this change backward compatible?
> 
> Regards,
> Lorenzo
> 

Hi Lorenzo,

Yes, it is backward compatible.

Best Regards,
Yen.

> >  		} __packed hif_suspend;
> >  	} req = {
> >  		.hif_suspend = {
> > diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> > b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> > index 2a0bbfe7bfa5..b8315a89f4a9 100644
> > --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> > +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> > @@ -535,7 +535,7 @@ struct mt7925_wow_pattern_tlv {
> >  	u8 offset;
> >  	u8 mask[MT76_CONNAC_WOW_MASK_MAX_LEN];
> >  	u8 pattern[MT76_CONNAC_WOW_PATTEN_MAX_LEN];
> > -	u8 rsv[4];
> > +	u8 rsv[7];
> >  } __packed;
> >  
> >  static inline enum connac3_mcu_cipher_type
> > -- 
> > 2.18.0
> >
Sean Wang April 17, 2024, 10:21 p.m. UTC | #3
Hi nbd,

I'm aware that the patch has been merged into the mt76 tree though.
Could you assist in updating the commit message for the patch in the
mt76 tree by including the appropriate "Fixes" tag and CC to the
stable tree? like Fixes: c948b5da6bbe ("wifi: mt76: mt7925: add
Mediatek Wi-Fi7 driver for mt7925 chips")  Otherwise, the mt7925
cannot operate correctly.
      Sean

On Thu, Mar 7, 2024 at 3:08 AM Mingyen Hsieh <mingyen.hsieh@mediatek.com> wrote:
>
> From: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
>
> Before sending suspend & wow command to FW, its length should be
> 4-bytes alignd.
>
> Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
> ---
>  drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 1 +
>  drivers/net/wireless/mediatek/mt76/mt7925/mcu.h      | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> index af0c2b2aacb0..ef29d093f9c3 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
> @@ -2527,6 +2527,7 @@ int mt76_connac_mcu_set_hif_suspend(struct mt76_dev *dev, bool suspend)
>                         __le16 tag;
>                         __le16 len;
>                         u8 suspend;
> +                       u8 pad[7];
>                 } __packed hif_suspend;
>         } req = {
>                 .hif_suspend = {
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> index 2a0bbfe7bfa5..b8315a89f4a9 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
> @@ -535,7 +535,7 @@ struct mt7925_wow_pattern_tlv {
>         u8 offset;
>         u8 mask[MT76_CONNAC_WOW_MASK_MAX_LEN];
>         u8 pattern[MT76_CONNAC_WOW_PATTEN_MAX_LEN];
> -       u8 rsv[4];
> +       u8 rsv[7];
>  } __packed;
>
>  static inline enum connac3_mcu_cipher_type
> --
> 2.18.0
>
>
Felix Fietkau April 19, 2024, 7:42 a.m. UTC | #4
On 18.04.24 00:21, Sean Wang wrote:
> Hi nbd,
> 
> I'm aware that the patch has been merged into the mt76 tree though.
> Could you assist in updating the commit message for the patch in the
> mt76 tree by including the appropriate "Fixes" tag and CC to the
> stable tree? like Fixes: c948b5da6bbe ("wifi: mt76: mt7925: add
> Mediatek Wi-Fi7 driver for mt7925 chips")  Otherwise, the mt7925
> cannot operate correctly.
>        Sean

Sure, no problem. It's updated in my tree now.

- Felix
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 af0c2b2aacb0..ef29d093f9c3 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
@@ -2527,6 +2527,7 @@  int mt76_connac_mcu_set_hif_suspend(struct mt76_dev *dev, bool suspend)
 			__le16 tag;
 			__le16 len;
 			u8 suspend;
+			u8 pad[7];
 		} __packed hif_suspend;
 	} req = {
 		.hif_suspend = {
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
index 2a0bbfe7bfa5..b8315a89f4a9 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
@@ -535,7 +535,7 @@  struct mt7925_wow_pattern_tlv {
 	u8 offset;
 	u8 mask[MT76_CONNAC_WOW_MASK_MAX_LEN];
 	u8 pattern[MT76_CONNAC_WOW_PATTEN_MAX_LEN];
-	u8 rsv[4];
+	u8 rsv[7];
 } __packed;
 
 static inline enum connac3_mcu_cipher_type