In current version, procedure of saving eth_dev in hns3 PMD init will be called more than twice, one for primary, the other for secondary. That will cause segmentation fault in Multi-process as eth_dev will be changed in secondary process, which is different from one in primary process. The initial problem was access to 'rte_eth_devices' global variable, which is wrong. But current approach can cause problem for the secondaries, moving 'eth_dev' to process private can work but before making things more complex. This patch deserted the procedure of saving eth_dev in hns3 PMD init. Instead, it creates an internal function that gets "struct hns3_hw" as parameter and it can be called internally without knowing 'eth_dev'and the .dev_ops can be wrapper to this. Fixes: 2390bf217f4d ("net/hns3: fix FEC state query") Cc: stable@dpdk.org Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Signed-off-by: Lijun Ou <oulijun@huawei.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%