mt76: update to Git HEAD (2023-12-08)
[openwrt/staging/blocktrron.git] / package / kernel / mt76 / patches / 0001-wifi-mt76-mt7996-fix-shift-overflow-warning-on-32-bi.patch
1 From f63f87cd5b45c3779293e6062c6b26bdf57e851d Mon Sep 17 00:00:00 2001
2 From: Christian Marangi <ansuelsmth@gmail.com>
3 Date: Sat, 9 Dec 2023 22:44:57 +0100
4 Subject: [PATCH] wifi: mt76: mt7996: fix shift overflow warning on 32 bit
5 systems
6
7 Fix additional shift overflow warning on 32 bit systems for mt7996 mac.c
8 source.
9
10 Fixes: 95c14207d2a9 ("wifi: mt76: mt7996: set DMA mask to 36 bits for boards with more than 4GB of RAM")
11 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
12 ---
13 mt7996/mac.c | 10 +++++++---
14 1 file changed, 7 insertions(+), 3 deletions(-)
15
16 --- a/mt7996/mac.c
17 +++ b/mt7996/mac.c
18 @@ -942,9 +942,13 @@ int mt7996_tx_prepare_skb(struct mt76_de
19
20 txp = (struct mt76_connac_txp_common *)(txwi + MT_TXD_SIZE);
21 for (i = 0; i < nbuf; i++) {
22 - u16 len = FIELD_PREP(MT_TXP_BUF_LEN, tx_info->buf[i + 1].len) |
23 - FIELD_PREP(MT_TXP_DMA_ADDR_H,
24 - tx_info->buf[i + 1].addr >> 32);
25 + u16 len;
26 +
27 + len = FIELD_PREP(MT_TXP_BUF_LEN, tx_info->buf[i + 1].len);
28 +#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
29 + len |= FIELD_PREP(MT_TXP_DMA_ADDR_H,
30 + tx_info->buf[i + 1].addr >> 32);
31 +#endif
32
33 txp->fw.buf[i] = cpu_to_le32(tx_info->buf[i + 1].addr);
34 txp->fw.len[i] = cpu_to_le16(len);