qed: Add cleanup in qed_slowpath_start()
If qed_mcp_send_drv_version() fails, no cleanup is executed, leading to memory leaks. To fix this issue, introduce the label 'err4' to perform the cleanup work before returning the error. Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> Acked-by: Sudarsana Reddy Kalluru <skalluru@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
a71d9eff93
commit
de0e4fd2f0
@@ -1325,7 +1325,7 @@ static int qed_slowpath_start(struct qed_dev *cdev,
|
|||||||
&drv_version);
|
&drv_version);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
DP_NOTICE(cdev, "Failed sending drv version command\n");
|
DP_NOTICE(cdev, "Failed sending drv version command\n");
|
||||||
return rc;
|
goto err4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1333,6 +1333,8 @@ static int qed_slowpath_start(struct qed_dev *cdev,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err4:
|
||||||
|
qed_ll2_dealloc_if(cdev);
|
||||||
err3:
|
err3:
|
||||||
qed_hw_stop(cdev);
|
qed_hw_stop(cdev);
|
||||||
err2:
|
err2:
|
||||||
|
Reference in New Issue
Block a user