net/ice: fix core dump when device reset
Checks
Commit Message
When device resets, it should not implememt ACL initialization
which is only executed in DCF. This patch disable ACL init and
uninit when in DPDK PF only mode.
Fixes: 40d466fa9f76 ("net/ice: support ACL filter in DCF")
Signed-off-by: Simei Su <simei.su@intel.com>
---
drivers/net/ice/ice_acl_filter.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
Comments
> -----Original Message-----
> From: Su, Simei <simei.su@intel.com>
> Sent: Tuesday, November 10, 2020 10:02 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Wang, Haiyue <haiyue.wang@intel.com>; Ding, Xuan
> <xuan.ding@intel.com>; Su, Simei <simei.su@intel.com>
> Subject: [PATCH] net/ice: fix core dump when device reset
>
> When device resets, it should not implememt ACL initialization which is only
> executed in DCF. This patch disable ACL init and uninit when in DPDK PF only
> mode.
>
> Fixes: 40d466fa9f76 ("net/ice: support ACL filter in DCF")
>
> Signed-off-by: Simei Su <simei.su@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
Tested-by: Xie,WeiX < weix.xie@intel.com>
Regards,
Xie Wei
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Simei Su
> Sent: Tuesday, November 10, 2020 10:02 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Wang, Haiyue <haiyue.wang@intel.com>; Ding, Xuan
> <xuan.ding@intel.com>; Su, Simei <simei.su@intel.com>
> Subject: [dpdk-dev] [PATCH] net/ice: fix core dump when device reset
>
> When device resets, it should not implememt ACL initialization which is only
> executed in DCF. This patch disable ACL init and uninit when in DPDK PF only
> mode.
@@ -935,6 +935,9 @@ ice_acl_init(struct ice_adapter *ad)
struct ice_hw *hw = ICE_PF_TO_HW(pf);
struct ice_flow_parser *parser = &ice_acl_parser;
+ if (!ad->hw.dcf_enabled)
+ return 0;
+
ret = ice_acl_prof_alloc(hw);
if (ret) {
PMD_DRV_LOG(ERR, "Cannot allocate memory for "
@@ -979,10 +982,11 @@ ice_acl_uninit(struct ice_adapter *ad)
struct ice_hw *hw = ICE_PF_TO_HW(pf);
struct ice_flow_parser *parser = &ice_acl_parser;
- ice_unregister_parser(parser, ad);
-
- ice_deinit_acl(pf);
- ice_acl_prof_free(hw);
+ if (ad->hw.dcf_enabled) {
+ ice_unregister_parser(parser, ad);
+ ice_deinit_acl(pf);
+ ice_acl_prof_free(hw);
+ }
}
static struct