ixgbe: Correct thermal sensor event check
authorMark Rustad <mark.d.rustad@intel.com>
Tue, 25 Apr 2017 20:55:25 +0000 (13:55 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 31 May 2017 11:36:51 +0000 (04:36 -0700)
The thermal sensor event logic is messed up, because it can execute
the code when there is no thermal event. The current logic is that
it will exit when !capable && !event whereas it really should exit
when !capable || !event. For one thing, it means that the service
task is doing too much work. It probably has some other symptoms as
well. So, correct the logic, simplifying to only execute when there
is a thermal event. The capable check is redundant.

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index 7baca05..5c671b7 100644 (file)
@@ -2639,8 +2639,7 @@ static void ixgbe_check_overtemp_subtask(struct ixgbe_adapter *adapter)
        if (test_bit(__IXGBE_DOWN, &adapter->state))
                return;
 
-       if (!(adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_CAPABLE) &&
-           !(adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_EVENT))
+       if (!(adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_EVENT))
                return;
 
        adapter->flags2 &= ~IXGBE_FLAG2_TEMP_SENSOR_EVENT;