net/vhost: fix deadlock on vring state change
If vring state changes after pmd starts working, the locked vring
notifies pmd, thus calling update_queuing_status(), the latter
will wait for pmd to finish accessing vring, while pmd is also
waiting for vring to be unlocked, thus causing deadlock.
Actually, update_queuing_status() only needs to wait while
destroy/stopping the device, but not in other cases.
This patch adds a flag for whether or not to wait to fix this issue.
Fixes:
1ce3c7fe149f ("net/vhost: emulate device start/stop behavior")
Cc: stable@dpdk.org
Signed-off-by: Yuan Wang <yuanx.wang@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>