| From f3cf0a9124cf8ea17cc72cbe0e18f2d665b3ab11 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 5 Apr 2022 17:15:14 +0200 |
| Subject: mt76: Fix undefined behavior due to shift overflowing the constant |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Borislav Petkov <bp@suse.de> |
| |
| [ Upstream commit dbc2b1764734857d68425468ffa8486e97ab89df ] |
| |
| Fix: |
| |
| drivers/net/wireless/mediatek/mt76/mt76x2/pci.c: In function ‘mt76x2e_probe’: |
| ././include/linux/compiler_types.h:352:38: error: call to ‘__compiletime_assert_946’ \ |
| declared with attribute error: FIELD_PREP: mask is not constant |
| _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) |
| |
| See https://lore.kernel.org/r/YkwQ6%2BtIH8GQpuct@zn.tnic for the gory |
| details as to why it triggers with older gccs only. |
| |
| Signed-off-by: Borislav Petkov <bp@suse.de> |
| Cc: Felix Fietkau <nbd@nbd.name> |
| Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> |
| Cc: Ryder Lee <ryder.lee@mediatek.com> |
| Cc: Shayne Chen <shayne.chen@mediatek.com> |
| Cc: Sean Wang <sean.wang@mediatek.com> |
| Cc: Kalle Valo <kvalo@kernel.org> |
| Cc: "David S. Miller" <davem@davemloft.net> |
| Cc: Jakub Kicinski <kuba@kernel.org> |
| Cc: linux-wireless@vger.kernel.org |
| Cc: netdev@vger.kernel.org |
| Signed-off-by: Kalle Valo <kvalo@kernel.org> |
| Link: https://lore.kernel.org/r/20220405151517.29753-9-bp@alien8.de |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/wireless/mediatek/mt76/mt76x2/pci.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c |
| index cf611d1b817c..e6d7646a0d9c 100644 |
| --- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c |
| +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c |
| @@ -76,7 +76,7 @@ mt76pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) |
| mt76_rmw_field(dev, 0x15a10, 0x1f << 16, 0x9); |
| |
| /* RG_SSUSB_G1_CDR_BIC_LTR = 0xf */ |
| - mt76_rmw_field(dev, 0x15a0c, 0xf << 28, 0xf); |
| + mt76_rmw_field(dev, 0x15a0c, 0xfU << 28, 0xf); |
| |
| /* RG_SSUSB_CDR_BR_PE1D = 0x3 */ |
| mt76_rmw_field(dev, 0x15c58, 0x3 << 6, 0x3); |
| -- |
| 2.35.1 |
| |