From: Mark Rustad <mark.d.rus...@intel.com>

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.rus...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 7baca05c4a51..5c671b7401cd 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -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;
-- 
2.12.2

Reply via email to