mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 21:36:52 +00:00
wifi: mt76: mt7921: fix incorrect type conversion for CLC command
clc->len is defined as 32 bits in length, so it must also be
operated on with 32 bits, not 16 bits.
Fixes: fa6ad88e023d ("wifi: mt76: mt7921: fix country count limitation for CLC")
Signed-off-by: Ming Yen Hsieh <[email protected]>
Reported-by: kernel test robot <[email protected]>
Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
f3c5b4820d
commit
d75eac9f55
+2
-2
@@ -1272,7 +1272,7 @@ int __mt7921_mcu_set_clc(struct mt792x_dev *dev, u8 *alpha2,
|
||||
.mtcl_conf = mt792x_acpi_get_mtcl_conf(&dev->phy, alpha2),
|
||||
};
|
||||
int ret, valid_cnt = 0;
|
||||
u16 buf_len = 0;
|
||||
u32 buf_len = 0;
|
||||
u8 *pos;
|
||||
|
||||
if (!clc)
|
||||
@@ -1283,7 +1283,7 @@ int __mt7921_mcu_set_clc(struct mt792x_dev *dev, u8 *alpha2,
|
||||
if (mt76_find_power_limits_node(&dev->mt76))
|
||||
req.cap |= CLC_CAP_DTS_EN;
|
||||
|
||||
buf_len = le16_to_cpu(clc->len) - sizeof(*clc);
|
||||
buf_len = le32_to_cpu(clc->len) - sizeof(*clc);
|
||||
pos = clc->data;
|
||||
while (buf_len > 16) {
|
||||
struct mt7921_clc_rule *rule = (struct mt7921_clc_rule *)pos;
|
||||
|
||||
Reference in New Issue
Block a user