pci: fix sysfs parsing for uio
authorIntel <intel.com>
Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sat, 23 Nov 2013 22:48:21 +0000 (23:48 +0100)
Signed-off-by: Intel
lib/librte_eal/linuxapp/eal/eal_pci.c

index 73c0828..f5c5626 100644 (file)
@@ -524,7 +524,7 @@ pci_uio_map_resource(struct rte_pci_device *dev)
                /* first try uio%d */
                errno = 0;
                uio_num = strtoull(e->d_name + shortprefix_len, &endptr, 10);
-               if (errno == 0 && endptr != e->d_name) {
+               if (errno == 0 && endptr != (e->d_name + shortprefix_len)) {
                        rte_snprintf(dirname2, sizeof(dirname2),
                                 "%s/uio%u", dirname, uio_num);
                        break;
@@ -533,7 +533,7 @@ pci_uio_map_resource(struct rte_pci_device *dev)
                /* then try uio:uio%d */
                errno = 0;
                uio_num = strtoull(e->d_name + longprefix_len, &endptr, 10);
-               if (errno == 0 && endptr != e->d_name) {
+               if (errno == 0 && endptr != (e->d_name + longprefix_len)) {
                        rte_snprintf(dirname2, sizeof(dirname2),
                                 "%s/uio:uio%u", dirname, uio_num);
                        break;