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 7baca05c4a51f91e3aced498e5d75a24af439f5e..5c671b7401cd91294dcbab29f67b74ef9e73de1f 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;