net/ixgbe: do not return internal code
authorLuca Boccassi <bluca@debian.org>
Mon, 3 Sep 2018 14:18:11 +0000 (15:18 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 10 Sep 2018 11:31:37 +0000 (13:31 +0200)
In case of a temporary failure the ixgbe driver can return the internal
error IXGBE_ERR_RESET_FAILED to the application. Instead, return
-EAGAIN as per the public API specification.

Fixes: cddaf87a1ecb ("lib: fix unused values")
Cc: stable@dpdk.org
Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ixgbe/ixgbe_ethdev.c

index 26b1927..eab9e2e 100644 (file)
@@ -1619,7 +1619,12 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
         */
        if ((diag != IXGBE_SUCCESS) && (diag != IXGBE_ERR_INVALID_MAC_ADDR)) {
                PMD_INIT_LOG(ERR, "VF Initialization Failure: %d", diag);
-               return diag;
+               /*
+                * This error code will be propagated to the app by
+                * rte_eth_dev_reset, so use a public error code rather than
+                * the internal-only IXGBE_ERR_RESET_FAILED
+                */
+               return -EAGAIN;
        }
 
        /* negotiate mailbox API version to use with the PF. */