Imported Upstream version 17.05.2
[deb_dpdk.git] / drivers / net / virtio / virtio_ethdev.c
index 983b95f..6c18a53 100644 (file)
@@ -424,7 +424,7 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
                }
        }
 
-       memset(mz->addr, 0, sizeof(mz->len));
+       memset(mz->addr, 0, mz->len);
 
        vq->vq_ring_mem = mz->phys_addr;
        vq->vq_ring_virt_mem = mz->addr;
@@ -1678,6 +1678,12 @@ virtio_dev_configure(struct rte_eth_dev *dev)
                        return ret;
        }
 
+       if (dev->data->dev_conf.intr_conf.rxq) {
+               ret = virtio_init_device(dev, hw->req_guest_features);
+               if (ret < 0)
+                       return ret;
+       }
+
        if (rxmode->hw_ip_checksum &&
                !vtpci_with_feature(hw, VIRTIO_NET_F_GUEST_CSUM)) {
                PMD_DRV_LOG(NOTICE,
@@ -1943,4 +1949,4 @@ __rte_unused uint8_t is_rx)
 
 RTE_PMD_EXPORT_NAME(net_virtio, __COUNTER__);
 RTE_PMD_REGISTER_PCI_TABLE(net_virtio, pci_id_virtio_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_virtio, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_virtio, "* igb_uio | uio_pci_generic | vfio-pci");