summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2012-02-08 07:49:43 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-03-12 20:29:40 -0700
commit5d967eb7f84d2761d624d033c2583187b37b56ce (patch)
treefaf33cac6ee74a480b47cc58096bded24d5d8567
parente954b374b4e42c5335679ec6d79ca2c50ce5d422 (diff)
downloadlinux-stable-5d967eb7f84d2761d624d033c2583187b37b56ce.tar.gz
linux-stable-5d967eb7f84d2761d624d033c2583187b37b56ce.tar.bz2
linux-stable-5d967eb7f84d2761d624d033c2583187b37b56ce.zip
ixgbe: Correct Adaptive Interrupt Moderation so that it will change values
This change corrects an issue in which Adaptive Interrupt Moderation was not changing values due to the fact that we were performing an and operation on the resultant value that was causing the value to never change from the default 20K interrupts per second. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index fc3c33a2c205..bad9c0508dfe 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1834,7 +1834,7 @@ void ixgbe_write_eitr(struct ixgbe_q_vector *q_vector)
struct ixgbe_adapter *adapter = q_vector->adapter;
struct ixgbe_hw *hw = &adapter->hw;
int v_idx = q_vector->v_idx;
- u32 itr_reg = q_vector->itr;
+ u32 itr_reg = q_vector->itr & IXGBE_MAX_EITR;
switch (adapter->hw.mac.type) {
case ixgbe_mac_82598EB:
@@ -1886,7 +1886,7 @@ static void ixgbe_set_itr(struct ixgbe_q_vector *q_vector)
((9 * new_itr) + q_vector->itr);
/* save the algorithm value here */
- q_vector->itr = new_itr & IXGBE_MAX_EITR;
+ q_vector->itr = new_itr;
ixgbe_write_eitr(q_vector);
}