]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: mt7915: fix register mapping
authorPeter Chiu <chui-hao.chiu@mediatek.com>
Thu, 9 Jan 2025 11:04:35 +0000 (19:04 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 14 Jan 2025 12:42:29 +0000 (13:42 +0100)
Bypass the entry when ofs is equal to dev->reg.map[i].size.
Without this patch, it would get incorrect register mapping when the CR
address is located at the boundary of an entry.

Fixes: cd4c314a65d3 ("mt76: mt7915: refine register definition")
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Shengyu Qu <wiagn233@outlook.com>
Link: https://patch.msgid.link/OSZPR01MB843401EAA1DA6BD7AEF356F298132@OSZPR01MB8434.jpnprd01.prod.outlook.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c

index 530182e20ce29d2b24e13277c57cfd5523c51f8f..876f0692850a2e20a64e786e7820adfaca440ee9 100644 (file)
@@ -486,7 +486,7 @@ static u32 __mt7915_reg_addr(struct mt7915_dev *dev, u32 addr)
                        continue;
 
                ofs = addr - dev->reg.map[i].phys;
-               if (ofs > dev->reg.map[i].size)
+               if (ofs >= dev->reg.map[i].size)
                        continue;
 
                return dev->reg.map[i].maps + ofs;