Linux-mediatek Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] wifi: mt76: mt7928: makes struct beacon_tlv 4-byte aligned.
@ 2026-10-05  8:39 Anthony Liu
  0 siblings, 0 replies; only message in thread
From: Anthony Liu @ 2026-10-05  8:39 UTC (permalink / raw)
  To: nbd, lorenzo
  Cc: Sean.Wang, Leon.Yen, Quan.Zhou, Ryder.lee, litien.chang, kun.wu,
	jb.tsai, emery.hsin, linux-wireless, linux-mediatek, Anthony Liu

mt76 fails when offloading beacon to MT7928 FW.

This is caused by newly added 4-byte alignment check in MT7928 FW
and works when beacon_tlv is 4-byte aligned. MT7925 is not affected
because it accepts same struct with or without extra padding bytes.

Signed-off-by: Anthony Liu <anthony.liu@mediatek.com>
---
 drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
index 376cc4833242..ff51d8189b46 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
@@ -2392,10 +2392,13 @@ mt7925_mcu_uni_add_beacon_offload(struct mt792x_dev *dev,
 			u8 pad[3];
 		} __packed hdr;
 		struct bcn_content_tlv {
+			/* DW 0 */
 			__le16 tag;
 			__le16 len;
+			/* DW 1 */
 			__le16 tim_ie_pos;
 			__le16 csa_ie_pos;
+			/* DW 2 */
 			__le16 bcc_ie_pos;
 			/* 0: disable beacon offload
 			 * 1: enable beacon offload
@@ -2406,8 +2409,9 @@ mt7925_mcu_uni_add_beacon_offload(struct mt792x_dev *dev,
 			 * 1: only cap field IE
 			 */
 			u8 type;
+			/* DW 3~130 */
 			__le16 pkt_len;
-			u8 pkt[512];
+			u8 pkt[510];
 		} __packed beacon_tlv;
 	} req = {
 		.hdr = {
-- 
2.45.2



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-05  8:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-05  8:39 [PATCH] wifi: mt76: mt7928: makes struct beacon_tlv 4-byte aligned Anthony Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox