[PATCH v3] net/enic: check notify set return value during init

Alexey Simakov <[email protected]>
Newsgroups org.dpdk.dev
Message-ID <[email protected]>
The return value of vnic_dev_notify_set() is silently ignored in
enic_dev_init(), so a memory allocation failure or hardware command
error goes unnoticed and the driver continues with uninitialized
notification state.

Check the return value and propagate the error to abort probe when
notification setup fails.

Fixes: fefed3d1e62c ("enic: new driver")
Cc: [email protected]

Signed-off-by: Alexey Simakov <[email protected]>
---

v3 changes: add log message

v2 link: https://patches.dpdk.org/project/dpdk/patch/[email protected]/
v2 changes: validate return code of vnic_dev_notify_set() in driver init section

v1 link: https://patches.dpdk.org/project/dpdk/patch/[email protected]/

 drivers/net/enic/enic_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 2696fa77d4..2a1a65d8da 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -1887,7 +1887,11 @@ static int enic_dev_init(struct enic *enic)
 	LIST_INIT(&enic->flows);
 
 	/* set up link status checking */
-	vnic_dev_notify_set(enic->vdev, -1); /* No Intr for notify */
+	err = vnic_dev_notify_set(enic->vdev, -1); /* No Intr for notify */
+	if (err) {
+		dev_err(enic, "failed to enable notify buffer\n");
+		return err;
+	}
 
 	enic->overlay_offload = false;
 	/*
-- 
2.53.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.