numam-dpdk/drivers/net
Chengchang Tang 5ef63df128 net/hns3: fix firmware exceptions by concurrent commands
There are two scenarios that command queue uninit performed
concurrently with the firmware command: asynchronous command
and timeout command.

For asynchronous command, if a large number of functions send
commands, these commands may need to be queued to wait for
firmware processing. If a function is uninited suddenly, CMDQ
clearing and firmware processing may be performed concurrently.

For timeout command, if the command failed due to busy scheduling
of firmware, this command will be processed in the next scheduling.
And this may lead to concurrency.

The preceding concurrency may lead to a firmware exceptions.

This patch add a waiting time to ensure the firmware complete the
processing of left over command when PMD uninit.

Fixes: 737f30e1c3 ("net/hns3: support command interface with firmware")
Cc: stable@dpdk.org

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
2021-02-04 18:19:37 +01:00
..
af_packet ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
af_xdp ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
ark ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
atlantic ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
avp ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
axgbe ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
bnx2x ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
bnxt net/bnxt: fix Rx completion ring size calculation 2021-02-03 00:48:11 +01:00
bonding ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
cxgbe ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
dpaa ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
dpaa2 net/dpaa2: support MPLS distribution 2021-01-29 18:16:08 +01:00
e1000 net/e1000: fix flow control mode setting 2021-01-29 18:16:07 +01:00
ena net/ena: prevent double doorbell 2021-01-29 18:16:12 +01:00
enetc ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
enic net/enic: fix filter type used for flow API 2021-02-03 00:48:11 +01:00
failsafe ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
fm10k ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
hinic ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
hns3 net/hns3: fix firmware exceptions by concurrent commands 2021-02-04 18:19:37 +01:00
i40e net/i40e: fix build for Windows MinGW 2021-02-04 18:19:36 +01:00
iavf net/iavf: fix VLAN insert 2021-02-04 18:19:36 +01:00
ice net/ice: fix QinQ switch rule input set mask 2021-02-04 18:19:36 +01:00
igc ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
ionic net/ionic: clean up Tx queue version support 2021-02-03 00:48:11 +01:00
ipn3ke ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
ixgbe net/ixgbe: disable NFS filtering 2021-01-29 18:16:08 +01:00
kni ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
liquidio ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
memif ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
mlx4 net/mlx4: fix port attach in secondary process 2021-01-29 18:16:08 +01:00
mlx5 net/mlx5: fix E-Switch egress mirror flow validation 2021-02-04 18:19:37 +01:00
mvneta ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
mvpp2 net/mvpp2: add fill buffs to configuration file 2021-01-29 18:16:11 +01:00
netvsc ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
nfb ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
nfp net/nfp: read chip model from PluDevice register 2021-01-29 18:16:12 +01:00
null ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
octeontx net/octeontx: fix max Rx packet length 2021-02-04 18:19:37 +01:00
octeontx2 net/octeontx2: fix PF flow action for Tx 2021-01-29 18:16:08 +01:00
octeontx_ep net/octeontx_ep: add Tx path 2021-01-29 18:16:12 +01:00
pcap ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
pfe ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
qede ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
ring ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
sfc net/sfc: fix TSO and checksum offloads for EF10 2021-02-03 11:37:08 +01:00
softnic ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
szedata2 ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
tap ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
thunderx ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
txgbe ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
vdev_netvsc build: align wording of non-support reasons 2020-11-20 16:05:35 +01:00
vhost ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
virtio net/virtio: fix secondary process crash with PCI devices 2021-02-04 18:19:36 +01:00
vmxnet3 ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
meson.build net/octeontx_ep: add build and doc infrastructure 2021-01-29 18:16:12 +01:00