e1000e: e1000e_cyclecounter_read(): incvalue is 32 bits, not 64
authorDenys Vlasenko <dvlasenk@redhat.com>
Wed, 20 Apr 2016 15:45:54 +0000 (17:45 +0200)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 13 May 2016 21:46:45 +0000 (14:46 -0700)
"incvalue" variable holds a result of "er32(TIMINCA) &
E1000_TIMINCA_INCVALUE_MASK" and used in "do_div(temp, incvalue)"
as a divisor.

Thus, "u64 incvalue" declaration is probably a mistake.
Even though it seems to be a harmless one, let's fix it.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/netdev.c

index 671256d325258eac5f0d2f3a631789d92ce96183..4969f647db888a3b677b7a952ff39e63d4759552 100644 (file)
@@ -4300,7 +4300,8 @@ static cycle_t e1000e_cyclecounter_read(const struct cyclecounter *cc)
        }
 
        if ((hw->mac.type == e1000_82574) || (hw->mac.type == e1000_82583)) {
-               u64 incvalue, time_delta, rem, temp;
+               u64 time_delta, rem, temp;
+               u32 incvalue;
                int i;
 
                /* errata for 82574/82583 possible bad bits read from SYSTIMH/L