[PATCH 23.11 1/2] net/nfp: fix firmware abnormal cleanup
Chaoyong He
chaoyong.he at corigine.com
Wed Aug 14 04:50:37 CEST 2024
[ upstream commit 3a64e190bcddd51b8e062cf9e78d5f62156e5e0e ]
The logic of 'nfp_fw_setup()' consider both single-pf and multi-pf
firmware, but the abnormal firmware cleanup logic only consider multi-pf
firmware and try to write the heart beat value, which will cause
coredump when using the single-pf firmware.
Fixes: 8ba461d1eecc ("net/nfp: introduce keepalive mechanism for multiple PF")
Signed-off-by: Chaoyong He <chaoyong.he at corigine.com>
---
drivers/net/nfp/nfp_ethdev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index 8bb6715450..7495b01f16 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -1396,8 +1396,10 @@ nfp_pf_init(struct rte_pci_device *pci_dev)
free(sym_tbl);
fw_cleanup:
nfp_fw_unload(cpp);
- nfp_net_keepalive_stop(&pf_dev->multi_pf);
- nfp_net_keepalive_uninit(&pf_dev->multi_pf);
+ if (pf_dev->multi_pf.enabled) {
+ nfp_net_keepalive_stop(&pf_dev->multi_pf);
+ nfp_net_keepalive_uninit(&pf_dev->multi_pf);
+ }
eth_table_cleanup:
free(nfp_eth_table);
hwinfo_cleanup:
--
2.39.1
More information about the stable
mailing list