summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormsaitoh <msaitoh@NetBSD.org>2019-07-26 04:08:39 +0000
committermsaitoh <msaitoh@NetBSD.org>2019-07-26 04:08:39 +0000
commit87d769e83ac3eb8d631a2b67b671ab8f1613eed9 (patch)
treec1d057d32be7afe04918186d207cab84141ac947 /sys/dev
parent42932d3d1a506363f7e5f64a7891a9faa3829029 (diff)
Set IVAR (Interrupt Vector Allocation Register) correctly for 82598 in
ixgbe_set_ivar(). Found by KUBSan.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/ixgbe/ixgbe.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/pci/ixgbe/ixgbe.c b/sys/dev/pci/ixgbe/ixgbe.c
index a7e80783a54..a80cc580a1f 100644
--- a/sys/dev/pci/ixgbe/ixgbe.c
+++ b/sys/dev/pci/ixgbe/ixgbe.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.197 2019/07/26 03:28:13 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.198 2019/07/26 04:08:39 msaitoh Exp $ */
/******************************************************************************
@@ -4188,8 +4188,8 @@ ixgbe_set_ivar(struct adapter *adapter, u8 entry, u8 vector, s8 type)
entry += (type * 64);
index = (entry >> 2) & 0x1F;
ivar = IXGBE_READ_REG(hw, IXGBE_IVAR(index));
- ivar &= ~(0xFF << (8 * (entry & 0x3)));
- ivar |= (vector << (8 * (entry & 0x3)));
+ ivar &= ~(0xffUL << (8 * (entry & 0x3)));
+ ivar |= ((u32)vector << (8 * (entry & 0x3)));
IXGBE_WRITE_REG(&adapter->hw, IXGBE_IVAR(index), ivar);
break;
case ixgbe_mac_82599EB: