If BSP not support a command and the driver send it to BSP, some
unhappy thing will happen and the logic will go wrong.
Fix it by make sure the BSP does support the command before driver
send it to BSP.
Fixes: b301fd736003 ("net/nfp: add force reload firmware option")
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Chaoyong He <[email protected]>
Reviewed-by: Long Wu <[email protected]>
Reviewed-by: Peng Zhang <[email protected]>
---
drivers/net/nfp/nfp_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index a09bbe52ca..db12914afe 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -1407,7 +1407,7 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
int ret;
bool fw_changed = true;
- if (nfp_nsp_fw_loaded(nsp) && !force_reload_fw) {
+ if (nfp_nsp_has_fw_loaded(nsp) && nfp_nsp_fw_loaded(nsp) &&
!force_reload_fw) {
ret = nfp_fw_check_change(cpp, fw_name, &fw_changed);
if (ret != 0)
return ret;
@@ -1448,7 +1448,7 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
goto keepalive_uninit;
}
- if (nfp_nsp_fw_loaded(nsp) && !reload_fw) {
+ if (nfp_nsp_has_fw_loaded(nsp) && nfp_nsp_fw_loaded(nsp) && !reload_fw)
{
err = nfp_fw_check_change(cpp, fw_name, &fw_changed);
if (err != 0)
goto keepalive_stop;
--
2.39.1