Message ID | 20240307110815.527-1-mingyen.hsieh@mediatek.com |
---|---|
State | New |
Headers | show |
Series | wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command | expand |
> 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 >
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 > >
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 > >
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 --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