OSDN Git Service

ixgbe: don't clear IPsec sa counters on HW clearing
authorShannon Nelson <shannon.nelson@oracle.com>
Fri, 10 Aug 2018 19:24:10 +0000 (12:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:49:54 +0000 (14:49 +0100)
[ Upstream commit 9e3f2f5ecee69b0f70003fb3e07639151e91de73 ]

The software SA record counters should not be cleared when clearing
the hardware tables.  This causes the counters to be out of sync
after a driver reset.

Fixes: 63a67fe229ea ("ixgbe: add ipsec offload add and remove SA")
Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c

index b27f7a9..49e6d66 100644 (file)
@@ -114,7 +114,6 @@ static void ixgbe_ipsec_set_rx_ip(struct ixgbe_hw *hw, u16 idx, __be32 addr[])
  **/
 static void ixgbe_ipsec_clear_hw_tables(struct ixgbe_adapter *adapter)
 {
-       struct ixgbe_ipsec *ipsec = adapter->ipsec;
        struct ixgbe_hw *hw = &adapter->hw;
        u32 buf[4] = {0, 0, 0, 0};
        u16 idx;
@@ -133,9 +132,6 @@ static void ixgbe_ipsec_clear_hw_tables(struct ixgbe_adapter *adapter)
                ixgbe_ipsec_set_tx_sa(hw, idx, buf, 0);
                ixgbe_ipsec_set_rx_sa(hw, idx, 0, buf, 0, 0, 0);
        }
-
-       ipsec->num_rx_sa = 0;
-       ipsec->num_tx_sa = 0;
 }
 
 /**