dpdk_eth_dev_init() must be called with dpdk_mutex. However, netdev_dpdk_set_multiq() fails to follow this rule. This commit fixes this breach.
Found by clang. Signed-off-by: Alex Wang <al...@nicira.com> --- - Move dpdk_mutex after the if statement. --- lib/netdev-dpdk.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index e66eb6e..1e12e8b 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -622,6 +622,7 @@ netdev_dpdk_set_multiq(struct netdev *netdev_, unsigned int n_txq, return err; } + ovs_mutex_lock(&dpdk_mutex); ovs_mutex_lock(&netdev->mutex); rte_eth_dev_stop(netdev->port_id); netdev->up.n_txq = n_txq; @@ -632,6 +633,7 @@ netdev_dpdk_set_multiq(struct netdev *netdev_, unsigned int n_txq, netdev_dpdk_set_txq(netdev, n_txq); } ovs_mutex_unlock(&netdev->mutex); + ovs_mutex_unlock(&dpdk_mutex); return err; } -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev