i40evf: fix off-by-one
authorMitch Williams <mitch.a.williams@intel.com>
Tue, 3 Jun 2014 23:50:20 +0000 (23:50 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 20 Jun 2014 03:22:06 +0000 (20:22 -0700)
The loop in i40evf_get_rxfh_indir was only reading fifteen registers,
not all sixteen. Change the matching loop in i40evf_set_rxfh_indir at
the same time to make the code more consistent.

Change-ID: I6c182287698e742d1f6ca1a4bcc43cc08df6e1de
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c

index 60407a9df0c1ef5103b4e0f198f556b229a9417a..e70e4cdb0eb2114a12a35a88a0059f0e28564903 100644 (file)
@@ -632,7 +632,7 @@ static int i40evf_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key)
        u32 hlut_val;
        int i, j;
 
-       for (i = 0, j = 0; i < I40E_VFQF_HLUT_MAX_INDEX; i++) {
+       for (i = 0, j = 0; i <= I40E_VFQF_HLUT_MAX_INDEX; i++) {
                hlut_val = rd32(hw, I40E_VFQF_HLUT(i));
                indir[j++] = hlut_val & 0xff;
                indir[j++] = (hlut_val >> 8) & 0xff;
@@ -659,7 +659,7 @@ static int i40evf_set_rxfh(struct net_device *netdev, const u32 *indir,
        u32 hlut_val;
        int i, j;
 
-       for (i = 0, j = 0; i < I40E_VFQF_HLUT_MAX_INDEX + 1; i++) {
+       for (i = 0, j = 0; i <= I40E_VFQF_HLUT_MAX_INDEX; i++) {
                hlut_val = indir[j++];
                hlut_val |= indir[j++] << 8;
                hlut_val |= indir[j++] << 16;