We can remove one of the ifdef blocks here, and instead of setting both
the xfrm hw_features and features flags, then unsetting the the features
flags if not in AB, wait to set the features flags if we're actually in AB
mode.

Cc: Jay Vosburgh <j.vosbu...@gmail.com>
Cc: Veaceslav Falico <vfal...@gmail.com>
Cc: Andy Gospodarek <a...@greyhouse.net>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: Jakub Kicinski <k...@kernel.org>
Cc: Thomas Davis <tada...@lbl.gov>
Cc: net...@vger.kernel.org
Signed-off-by: Jarod Wilson <ja...@redhat.com>
---
 drivers/net/bonding/bond_main.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index e0880a3840d7..5fe5232cc3f3 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -4746,15 +4746,13 @@ void bond_setup(struct net_device *bond_dev)
                                NETIF_F_HW_VLAN_CTAG_FILTER;
 
        bond_dev->hw_features |= NETIF_F_GSO_ENCAP_ALL;
-#ifdef CONFIG_XFRM_OFFLOAD
-       bond_dev->hw_features |= BOND_XFRM_FEATURES;
-#endif /* CONFIG_XFRM_OFFLOAD */
        bond_dev->features |= bond_dev->hw_features;
        bond_dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
 #ifdef CONFIG_XFRM_OFFLOAD
-       /* Disable XFRM features if this isn't an active-backup config */
-       if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP)
-               bond_dev->features &= ~BOND_XFRM_FEATURES;
+       bond_dev->hw_features |= BOND_XFRM_FEATURES;
+       /* Only enable XFRM features if this is an active-backup config */
+       if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP)
+               bond_dev->features |= BOND_XFRM_FEATURES;
 #endif /* CONFIG_XFRM_OFFLOAD */
 }
 
-- 
2.28.0

Reply via email to