Module Name: src
Committed By: msaitoh
Date: Fri Jul 26 04:08:39 UTC 2019
Modified Files:
src/sys/dev/pci/ixgbe: ixgbe.c
Log Message:
Set IVAR (Interrupt Vector Allocation Register) correctly for 82598 in
ixgbe_set_ivar(). Found by KUBSan.
To generate a diff of this commit:
cvs rdiff -u -r1.197 -r1.198 src/sys/dev/pci/ixgbe/ixgbe.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/ixgbe/ixgbe.c
diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.197 src/sys/dev/pci/ixgbe/ixgbe.c:1.198
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.197 Fri Jul 26 03:28:13 2019
+++ src/sys/dev/pci/ixgbe/ixgbe.c Fri Jul 26 04:08:39 2019
@@ -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,
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: