net/virtio: fix MAC address read
authorJianfeng Tan <jianfeng.tan@intel.com>
Fri, 28 Jul 2017 23:01:14 +0000 (23:01 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 31 Jul 2017 16:45:59 +0000 (18:45 +0200)
commitcb482cb3a305f96d8155bbeb052344dde66ad8f2
treede3aeea2357de3ddd4263abcaae8a380504010c8
parentc0bad56ef8b84a2e03bff1f5739a52248d22aedd
net/virtio: fix MAC address read

When virtio-net devices are bound to uio_pci_generic, we get
the wrong mac addr by virtio PMD. The wrong mac addr is a
addr that is 4-byte left shift of the correct addr.

It's a regression bug introduced by the cleanup patch below.
The condition of if we set use_msix should be if msix is
actually enabled. Only to check if there is a capability list
is not enough. For example, binding a transitional device
to uio_pci_device would trigger the wrong assignment of use_msix.

To correct that, we also check the flags of msix capability to
make sure it's enabled.

Fixes: ee1843bd8907 ("net/virtio: remove redundant MSI-X detection")
Cc: stable@dpdk.org
Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
drivers/net/virtio/virtio_pci.c