From: Ryder Lee Date: Wed, 7 Dec 2022 07:30:05 +0000 (+0800) Subject: wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read() X-Git-Tag: v6.6.17~5509^2~227^2~82^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=edb0406bda4629ef496f52eb11cbea7e92ed301b;p=platform%2Fkernel%2Flinux-rpi.git wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read() In the expression "map[i].qid << 24" starts as u8, but is promoted to "signed int", then sign-extended to type "unsigned long", which is not intended. Cast to u32 to avoid the sign extension. Fixes: 776ec4e77aa6 ("mt76: mt7915: rework debugfs queue info") Signed-off-by: Ryder Lee Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c index a7fdcd1..5a46813 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +++ b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c @@ -811,7 +811,7 @@ mt7915_hw_queue_read(struct seq_file *s, u32 size, if (val & BIT(map[i].index)) continue; - ctrl = BIT(31) | (map[i].pid << 10) | (map[i].qid << 24); + ctrl = BIT(31) | (map[i].pid << 10) | ((u32)map[i].qid << 24); mt76_wr(dev, MT_FL_Q0_CTRL, ctrl); head = mt76_get_field(dev, MT_FL_Q2_CTRL,