Consider the following scenario: 1) primary process (A) starts, probes the bus 2) a secondary process (B) starts, probes the bus 3) yet another secondary process (C) starts 4) (C) registers the pci driver and hotplugs the device * an IPC attach req is sent to the primary (A) * (A) ignores the -EEXIST from process-local probe * (A) propagates the request to all secondary processes * (B) responds with -EEXIST * (A) replies to the original request with the -EEXIST return code * the -EEXIST is returned back to the user, although the device was successfully attached both locally and in all other processes This patch makes the primary process reply with rc=0 even if there was another secondary process with the device already attached. The primary process already didn't reply with -EEXIST when the device was attached locally, so now this behavior is even more consistent. Looking by the code, this seems to be the originally intended behavior. Fixes: ac9e4a17370f ("eal: support attach/detach shared device from secondary") Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%