diff mbox series

[net-next] qed: Handle management FW error

Message ID 20210909173222.10627-1-smalin@marvell.com
State Superseded
Headers show
Series [net-next] qed: Handle management FW error | expand

Commit Message

Shai Malin Sept. 9, 2021, 5:32 p.m. UTC
Handle MFW (management FW) error response in order to avoid a crash
during recovery flows.

Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: Shai Malin <smalin@marvell.com>
---
 drivers/net/ethernet/qlogic/qed/qed_mcp.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Jakub Kicinski Sept. 9, 2021, 9:51 p.m. UTC | #1
On Thu, 9 Sep 2021 20:32:22 +0300 Shai Malin wrote:
> Handle MFW (management FW) error response in order to avoid a crash
> during recovery flows.
> 
> Signed-off-by: Ariel Elior <aelior@marvell.com>
> Signed-off-by: Shai Malin <smalin@marvell.com>

Since you say crash I'm assuming this is a fix.

Please repost with a Fixes tag and [PATCH net] in the subject.
Shai Malin Sept. 10, 2021, 8:33 a.m. UTC | #2
On Fri, 10 Sept 2021 at 00:51, Jakub Kicinski <kuba@kernel.org> wrote:
> On Thu, 9 Sep 2021 20:32:22 +0300 Shai Malin wrote:

> > Handle MFW (management FW) error response in order to avoid a crash

> > during recovery flows.

> >

> > Signed-off-by: Ariel Elior <aelior@marvell.com>

> > Signed-off-by: Shai Malin <smalin@marvell.com>

>

> Since you say crash I'm assuming this is a fix.

>

> Please repost with a Fixes tag and [PATCH net] in the subject.


Sure.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
index 6e5a6cc97d0e..24cd41567775 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
@@ -3367,6 +3367,7 @@  qed_mcp_get_nvm_image_att(struct qed_hwfn *p_hwfn,
 			  struct qed_nvm_image_att *p_image_att)
 {
 	enum nvm_image_type type;
+	int rc;
 	u32 i;
 
 	/* Translate image_id into MFW definitions */
@@ -3395,7 +3396,10 @@  qed_mcp_get_nvm_image_att(struct qed_hwfn *p_hwfn,
 		return -EINVAL;
 	}
 
-	qed_mcp_nvm_info_populate(p_hwfn);
+	rc = qed_mcp_nvm_info_populate(p_hwfn);
+	if (rc)
+		return rc;
+
 	for (i = 0; i < p_hwfn->nvm_info.num_images; i++)
 		if (type == p_hwfn->nvm_info.image_att[i].image_type)
 			break;