New upstream version 18.11.2
[deb_dpdk.git] / drivers / net / nfp / nfpcore / nfp_cpp_pcie_ops.c
index c68d940..37b7991 100644 (file)
@@ -16,7 +16,9 @@
 
 #include <assert.h>
 #include <stdio.h>
+#if defined(RTE_BACKTRACE)
 #include <execinfo.h>
+#endif
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdint.h>
@@ -788,17 +790,17 @@ nfp6000_init(struct nfp_cpp *cpp, struct rte_pci_device *dev)
        if (cpp->driver_lock_needed) {
                ret = nfp_acquire_process_lock(desc);
                if (ret)
-                       return -1;
+                       goto error;
        }
 
        if (nfp6000_set_model(dev, cpp) < 0)
-               return -1;
+               goto error;
        if (nfp6000_set_interface(dev, cpp) < 0)
-               return -1;
+               goto error;
        if (nfp6000_set_serial(dev, cpp) < 0)
-               return -1;
+               goto error;
        if (nfp6000_set_barsz(dev, desc) < 0)
-               return -1;
+               goto error;
 
        desc->cfg = (char *)dev->mem_resource[0].addr;
 
@@ -809,7 +811,11 @@ nfp6000_init(struct nfp_cpp *cpp, struct rte_pci_device *dev)
        model = __nfp_cpp_model_autodetect(cpp);
        nfp_cpp_model_set(cpp, model);
 
-       return ret;
+       return 0;
+
+error:
+       free(desc);
+       return -1;
 }
 
 static void