net/virtio: do not store PCI device pointer at shared memory
authorYuanhan Liu <yuanhan.liu@linux.intel.com>
Thu, 12 Jan 2017 05:37:00 +0000 (13:37 +0800)
committerYuanhan Liu <yuanhan.liu@linux.intel.com>
Tue, 17 Jan 2017 08:23:27 +0000 (09:23 +0100)
commit9470427c88e1545931236a352b613e5785d18648
tree6c84e7f6f90ad6e28790bbcdb06de521af0d6691
parent61e3ee17568ab046243424cbec43526db932a2e3
net/virtio: do not store PCI device pointer at shared memory

hw->dev, a pointer to pci_dev, was actually not used, until the
refactor of decouping from PCI device. This would somehow break
the multiple process again, since "hw" is stored at shared memory,
while "pci_dev" is not: the primary and secondary process could
have different address for it, while just one value is allowed.

Thus we should not store it to "hw", instead, we could retrieve
it from the "eth_dev->device" field.

Fixes: ae34410a8a8a ("ethdev: move info filling of PCI into drivers")
Fixes: eac901ce29be ("ethdev: decouple from PCI device")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
drivers/net/virtio/virtio_ethdev.c
drivers/net/virtio/virtio_pci.c
drivers/net/virtio/virtio_pci.h