2024-03-07 11:08:51

by Mingyen Hsieh

[permalink] [raw]
Subject: [PATCH] wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command

From: Ming Yen Hsieh <[email protected]>

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

Signed-off-by: Ming Yen Hsieh <[email protected]>
---
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



2024-03-07 11:18:33

by Lorenzo Bianconi

[permalink] [raw]
Subject: Re: [PATCH] wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command

> From: Ming Yen Hsieh <[email protected]>
>
> Before sending suspend & wow command to FW, its length should be
> 4-bytes alignd.
>
> Signed-off-by: Ming Yen Hsieh <[email protected]>
> ---
> 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
>


Attachments:
(No filename) (1.59 kB)
signature.asc (235.00 B)
Download all attachments

2024-03-08 05:07:12

by Mingyen Hsieh

[permalink] [raw]
Subject: Re: [PATCH] wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command

On Thu, 2024-03-07 at 12:17 +0100, Lorenzo Bianconi wrote:
> > From: Ming Yen Hsieh <[email protected]>
> >
> > Before sending suspend & wow command to FW, its length should be
> > 4-bytes alignd.
> >
> > Signed-off-by: Ming Yen Hsieh <[email protected]>
> > ---
> > 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
> >

2024-04-17 22:22:27

by Sean Wang

[permalink] [raw]
Subject: Re: [PATCH] wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command

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 <[email protected]> wrote:
>
> From: Ming Yen Hsieh <[email protected]>
>
> Before sending suspend & wow command to FW, its length should be
> 4-bytes alignd.
>
> Signed-off-by: Ming Yen Hsieh <[email protected]>
> ---
> 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
>
>

2024-04-19 07:44:10

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command

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