net/qed: allow old cards not supporting "num_images" to work
authorLouis Leseur <louis.leseur@gmail.com>
Thu, 28 Nov 2024 08:33:58 +0000 (09:33 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 3 Dec 2024 09:50:21 +0000 (10:50 +0100)
Commit 43645ce03e00 ("qed: Populate nvm image attribute shadow.")
added support for populating flash image attributes, notably
"num_images". However, some cards were not able to return this
information. In such cases, the driver would return EINVAL, causing the
driver to exit.

Add check to return EOPNOTSUPP instead of EINVAL when the card is not
able to return these information. The caller function already handles
EOPNOTSUPP without error.

Fixes: 43645ce03e00 ("qed: Populate nvm image attribute shadow.")
Co-developed-by: Florian Forestier <florian@forestier.re>
Signed-off-by: Florian Forestier <florian@forestier.re>
Signed-off-by: Louis Leseur <louis.leseur@gmail.com>
Link: https://patch.msgid.link/20241128083633.26431-1-louis.leseur@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/qlogic/qed/qed_mcp.c

index 26a714bfad4ecfb5a1565ef8ac57676e6a6f7c3e..b45efc272fdbb33eb4113f5c910a9ec4f1c2b30f 100644 (file)
@@ -3301,7 +3301,9 @@ int qed_mcp_bist_nvm_get_num_images(struct qed_hwfn *p_hwfn,
        if (rc)
                return rc;
 
-       if (((rsp & FW_MSG_CODE_MASK) != FW_MSG_CODE_OK))
+       if (((rsp & FW_MSG_CODE_MASK) == FW_MSG_CODE_UNSUPPORTED))
+               rc = -EOPNOTSUPP;
+       else if (((rsp & FW_MSG_CODE_MASK) != FW_MSG_CODE_OK))
                rc = -EINVAL;
 
        return rc;