Change struct ice_ntuple_fltr allocation from devm_ to plain alloc,
since its lifetime is not tied to the device. All such objects are being
removed on device remove via ice_deinit_features() -> ice_deinit_fdir()
-> ice_vsi_manage_fdir() -> ice_fdir_del_all_fltrs()

Signed-off-by: Marcin Szycik <[email protected]>
Reviewed-by: Aleksandr Loktionov <[email protected]>
---
v2:
* Add this patch
---
 drivers/net/ethernet/intel/ice/ice_ethtool_ntuple.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool_ntuple.c 
b/drivers/net/ethernet/intel/ice/ice_ethtool_ntuple.c
index e3ea5aed4dd5..f0e14bac2539 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool_ntuple.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool_ntuple.c
@@ -1722,7 +1722,7 @@ void ice_fdir_del_all_fltrs(struct ice_vsi *vsi)
                        ice_fdir_write_all_fltr(pf, f_rule, false);
                ice_fdir_update_cntrs(hw, f_rule, false);
                list_del(&f_rule->fltr_node);
-               devm_kfree(ice_pf_to_dev(pf), f_rule);
+               kfree(f_rule);
        }
 }
 
@@ -1829,7 +1829,7 @@ ice_ntuple_update_list_entry(struct ice_pf *pf, struct 
ice_ntuple_fltr *input,
                         */
                        ice_fdir_do_rem_flow(pf, old_fltr->flow_type);
                list_del(&old_fltr->fltr_node);
-               devm_kfree(ice_hw_to_dev(hw), old_fltr);
+               kfree(old_fltr);
        }
        if (!input)
                return err;
@@ -2180,7 +2180,7 @@ int ice_add_ntuple_ethtool(struct ice_vsi *vsi, struct 
ethtool_rxnfc *cmd)
                return -ENOSPC;
        }
 
-       input = devm_kzalloc(dev, sizeof(*input), GFP_KERNEL);
+       input = kzalloc_obj(*input);
        if (!input)
                return -ENOMEM;
 
@@ -2224,7 +2224,7 @@ int ice_add_ntuple_ethtool(struct ice_vsi *vsi, struct 
ethtool_rxnfc *cmd)
        mutex_unlock(&hw->fdir_fltr_lock);
 free_input:
        if (ret)
-               devm_kfree(dev, input);
+               kfree(input);
 
        return ret;
 }
-- 
2.49.0

Reply via email to