45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
|
From f5302062cbc98b3b8b1002cc48e7125a48ead96c Mon Sep 17 00:00:00 2001
|
||
|
From: Jens Freimann <jfreimann@redhat.com>
|
||
|
Date: Mon, 17 Dec 2018 22:31:38 +0100
|
||
|
Subject: [PATCH 09/18] net/virtio-user: fail if cq used with packed vq
|
||
|
|
||
|
[ upstream commit 07dd7e250d0128bf1edfd73e9d83bde09cdb11e9 ]
|
||
|
|
||
|
Until we have support for control virtqueues let's disable it and
|
||
|
fail device initalization if specified as a parameter.
|
||
|
|
||
|
Signed-off-by: Jens Freimann <jfreimann@redhat.com>
|
||
|
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
|
||
|
(cherry picked from commit 07dd7e250d0128bf1edfd73e9d83bde09cdb11e9)
|
||
|
Signed-off-by: Jens Freimann <jfreimann@redhat.com>
|
||
|
---
|
||
|
drivers/net/virtio/virtio_user/virtio_user_dev.c | 10 ++++++++--
|
||
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c
|
||
|
index 77cec1d3c..2f75091d5 100644
|
||
|
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
|
||
|
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
|
||
|
@@ -467,10 +467,16 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues,
|
||
|
if (!in_order)
|
||
|
dev->unsupported_features |= (1ull << VIRTIO_F_IN_ORDER);
|
||
|
|
||
|
- if (packed_vq)
|
||
|
+ if (packed_vq) {
|
||
|
+ if (cq) {
|
||
|
+ PMD_INIT_LOG(ERR, "control vq not supported yet with "
|
||
|
+ "packed virtqueues\n");
|
||
|
+ return -1;
|
||
|
+ }
|
||
|
dev->device_features |= (1ull << VIRTIO_F_RING_PACKED);
|
||
|
- else
|
||
|
+ } else {
|
||
|
dev->device_features &= ~(1ull << VIRTIO_F_RING_PACKED);
|
||
|
+ }
|
||
|
|
||
|
if (dev->mac_specified) {
|
||
|
dev->device_features |= (1ull << VIRTIO_NET_F_MAC);
|
||
|
--
|
||
|
2.21.0
|
||
|
|