VPP-189 Addtional fixes for last coverity fix in linux_pci.c 58/1958/3
authorJohn Lo <loj@cisco.com>
Wed, 13 Jul 2016 22:13:02 +0000 (18:13 -0400)
committerJohn Lo <loj@cisco.com>
Thu, 14 Jul 2016 03:07:20 +0000 (23:07 -0400)
Fix VPP startup problem where it cannot attach to a combination
of 3 Intel igb 1GE ports and 2 Intel ixgbe 10GE ports whose PCI
addresses are specified in the DPDK section of VPP startup
config file as follows:
dpdk { dev 0000:02:00.1 dev 0000:02:00.2 dev 0000:02:00.3
       dev 0000:05:00.0 dev 0000:05:00.1 }

Change-Id: Ibb12f9e9a9184d00da51a49961772ac3a42a2d1d
Signed-off-by: John Lo <loj@cisco.com>
vlib/vlib/pci/linux_pci.c

index ba6defe..914016e 100644 (file)
@@ -147,14 +147,10 @@ vlib_pci_bind_to_uio (vlib_pci_device_t * d, char *uio_driver_name)
       drvinfo.cmd = ETHTOOL_GDRVINFO;
       if (ioctl (fd, SIOCETHTOOL, &ifr) < 0)
        {
-         if (errno == ENOTSUP)
-           /* Some interfaces (eg "lo") don't support this ioctl */
-           continue;
-
-         error = clib_error_return_unix (0, "ioctl fetch intf %s bus info",
-                                         e->d_name);
-         close (fd);
-         goto done;
+         /* Some interfaces (eg "lo") don't support this ioctl */
+         if ((errno != ENOTSUP) && (errno != ENODEV))
+           clib_unix_warning ("ioctl fetch intf %s bus info error", e->d_name);
+         continue;
        }
 
       if (strcmp ((char *) s, drvinfo.bus_info))