Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
New upstream version 18.11-rc4
[deb_dpdk.git]
/
lib
/
librte_eal
/
linuxapp
/
eal
/
eal_dev.c
diff --git
a/lib/librte_eal/linuxapp/eal/eal_dev.c
b/lib/librte_eal/linuxapp/eal/eal_dev.c
index
d589c69
..
2830c86
100644
(file)
--- a/
lib/librte_eal/linuxapp/eal/eal_dev.c
+++ b/
lib/librte_eal/linuxapp/eal/eal_dev.c
@@
-258,7
+258,7
@@
dev_uev_handler(__rte_unused void *param)
if (bus == NULL) {
RTE_LOG(ERR, EAL, "Cannot find bus (%s)\n",
busname);
if (bus == NULL) {
RTE_LOG(ERR, EAL, "Cannot find bus (%s)\n",
busname);
-
return
;
+
goto failure_handle_err
;
}
dev = bus->find_device(NULL, cmp_dev_name,
}
dev = bus->find_device(NULL, cmp_dev_name,
@@
-266,19
+266,23
@@
dev_uev_handler(__rte_unused void *param)
if (dev == NULL) {
RTE_LOG(ERR, EAL, "Cannot find device (%s) on "
"bus (%s)\n", uevent.devname, busname);
if (dev == NULL) {
RTE_LOG(ERR, EAL, "Cannot find device (%s) on "
"bus (%s)\n", uevent.devname, busname);
-
return
;
+
goto failure_handle_err
;
}
ret = bus->hot_unplug_handler(dev);
}
ret = bus->hot_unplug_handler(dev);
- rte_spinlock_unlock(&failure_handle_lock);
if (ret) {
RTE_LOG(ERR, EAL, "Can not handle hot-unplug "
"for device (%s)\n", dev->name);
if (ret) {
RTE_LOG(ERR, EAL, "Can not handle hot-unplug "
"for device (%s)\n", dev->name);
- return;
}
}
+ rte_spinlock_unlock(&failure_handle_lock);
}
rte_dev_event_callback_process(uevent.devname, uevent.type);
}
}
rte_dev_event_callback_process(uevent.devname, uevent.type);
}
+
+ return;
+
+failure_handle_err:
+ rte_spinlock_unlock(&failure_handle_lock);
}
int __rte_experimental
}
int __rte_experimental