diff options
author | 2018-11-19 12:59:01 +0000 | |
---|---|---|
committer | 2018-11-19 12:59:24 +0000 | |
commit | 29058550643267a554e0368806dece63b047c5cb (patch) | |
tree | a6f573fe3fbc14585529b83cfcc65da2dceefbf5 /lib/librte_eal/linuxapp/eal/eal_dev.c | |
parent | 8a853e3f0275efc8b05cb195085d45946942744a (diff) |
New upstream version 18.11-rc4upstream/18.11-rc4
Change-Id: I861e1a2f7df210f57f44f1ad56b9ef789a4675e3
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'lib/librte_eal/linuxapp/eal/eal_dev.c')
-rw-r--r-- | lib/librte_eal/linuxapp/eal/eal_dev.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/librte_eal/linuxapp/eal/eal_dev.c b/lib/librte_eal/linuxapp/eal/eal_dev.c index d589c692..2830c868 100644 --- 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); - return; + goto failure_handle_err; } 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); - return; + goto failure_handle_err; } 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); - return; } + rte_spinlock_unlock(&failure_handle_lock); } rte_dev_event_callback_process(uevent.devname, uevent.type); } + + return; + +failure_handle_err: + rte_spinlock_unlock(&failure_handle_lock); } int __rte_experimental |