]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ixgbe: fix EICR write in ixgbe_msix_other
authorJacob Keller <jacob.e.keller@intel.com>
Sat, 2 Mar 2013 07:51:42 +0000 (07:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 May 2013 03:33:14 +0000 (20:33 -0700)
commitf5f5be06e3073714a03db1f017b325ec85c6b6e3
treea2d85699b45e223831b4dd008d266746e0408712
parentc10d1bc5fb9601b375ded6fe4b383284bf86e07f
ixgbe: fix EICR write in ixgbe_msix_other

commit d87d830720a1446403ed38bfc2da268be0d356d1 upstream.

Previously, the ixgbe_msix_other was writing the full 32bits of the set
interrupts, instead of only the ones which the ixgbe_msix_other is
handling. This resulted in a loss of performance when the X540's PPS feature is
enabled due to sometimes clearing queue interrupts which resulted in the driver
not getting the interrupt for cleaning the q_vector rings often enough. The fix
is to simply mask the lower 16bits off so that this handler does not write them
in the EICR, which causes them to remain high and be properly handled by the
clean_rings interrupt routine as normal.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c