virtio: fix crash if VIRTIO_NET_F_CTRL_VQ is not negotiated
authorDamjan Marion <damarion@cisco.com>
Thu, 11 Sep 2014 22:25:08 +0000 (15:25 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 1 Oct 2014 09:47:56 +0000 (11:47 +0200)
If VIRTIO_NET_F_CTRL_VQ is not negotiated hw->cvq will be NULL

Signed-off-by: Damjan Marion <damarion@cisco.com>
Acked-by: Changchun Ouyang <Changchun.ouyang@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_pmd_virtio/virtio_rxtx.c

index 29c9cea..ad6401c 100644 (file)
@@ -328,8 +328,10 @@ virtio_dev_cq_start(struct rte_eth_dev *dev)
        struct virtio_hw *hw
                = VIRTIO_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-       virtio_dev_vring_start(hw->cvq, VTNET_CQ);
-       VIRTQUEUE_DUMP((struct virtqueue *)hw->cvq);
+       if (hw->cvq) {
+               virtio_dev_vring_start(hw->cvq, VTNET_CQ);
+               VIRTQUEUE_DUMP((struct virtqueue *)hw->cvq);
+       }
 }
 
 void