Hi all, After merging the vhost tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/virtio/virtio_vdpa.c: In function 'virtio_vdpa_get': drivers/virtio/virtio_vdpa.c:60:32: warning: unused variable 'ops' [-Wunused-variable] 60 | const struct vdpa_config_ops *ops = vdpa->config; | ^~~ drivers/virtio/virtio_vdpa.c: In function 'virtio_vdpa_finalize_features': drivers/virtio/virtio_vdpa.c:301:9: error: void value not ignored as it ought to be 301 | return vdpa_set_features(vdpa, vdev->features); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/virtio/virtio_vdpa.c:296:32: warning: unused variable 'ops' [-Wunused-variable] 296 | const struct vdpa_config_ops *ops = vdpa->config; | ^~~ drivers/virtio/virtio_vdpa.c:302:1: warning: control reaches end of non-void function [-Wreturn-type] 302 | } | ^ drivers/vhost/vdpa.c: In function 'vhost_vdpa_get_config': drivers/vhost/vdpa.c:198:32: warning: unused variable 'ops' [-Wunused-variable] 198 | const struct vdpa_config_ops *ops = vdpa->config; | ^~~ drivers/vhost/vdpa.c: In function 'vhost_vdpa_set_features': drivers/vhost/vdpa.c:284:6: error: void value not ignored as it ought to be 284 | if (vdpa_set_features(vdpa, features)) | ^~~~~~~~~~~~~~~~~ Caused by commit d4ff0377f05b ("virtio_vdpa: legacy features handling") I added the following (hack) patch for today. From: Stephen Rothwell Date: Thu, 30 Jul 2020 17:39:11 +1000 Subject: [PATCH] virtio_vdpa: fix legacy features handling Signed-off-by: Stephen Rothwell --- drivers/vhost/vdpa.c | 4 +--- drivers/virtio/virtio_vdpa.c | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c index be9b3ed01a93..f7ef5f3ef0e3 100644 --- a/drivers/vhost/vdpa.c +++ b/drivers/vhost/vdpa.c @@ -195,7 +195,6 @@ static long vhost_vdpa_get_config(struct vhost_vdpa *v, struct vhost_vdpa_config __user *c) { struct vdpa_device *vdpa = v->vdpa; - const struct vdpa_config_ops *ops = vdpa->config; struct vhost_vdpa_config config; unsigned long size = offsetof(struct vhost_vdpa_config, buf); u8 *buf; @@ -281,8 +280,7 @@ static long vhost_vdpa_set_features(struct vhost_vdpa *v, u64 __user *featurep) if (features & ~vhost_vdpa_features[v->virtio_id]) return -EINVAL; - if (vdpa_set_features(vdpa, features)) - return -EINVAL; + vdpa_set_features(vdpa, features); return 0; } diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c index d0ae58d35392..73c5d49ff0df 100644 --- a/drivers/virtio/virtio_vdpa.c +++ b/drivers/virtio/virtio_vdpa.c @@ -57,7 +57,6 @@ static void virtio_vdpa_get(struct virtio_device *vdev, unsigned offset, void *buf, unsigned len) { struct vdpa_device *vdpa = vd_get_vdpa(vdev); - const struct vdpa_config_ops *ops = vdpa->config; vdpa_get_config(vdpa, offset, buf, len); } @@ -293,12 +292,12 @@ static u64 virtio_vdpa_get_features(struct virtio_device *vdev) static int virtio_vdpa_finalize_features(struct virtio_device *vdev) { struct vdpa_device *vdpa = vd_get_vdpa(vdev); - const struct vdpa_config_ops *ops = vdpa->config; /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); - return vdpa_set_features(vdpa, vdev->features); + vdpa_set_features(vdpa, vdev->features); + return 0; } static const char *virtio_vdpa_bus_name(struct virtio_device *vdev) -- 2.27.0 -- Cheers, Stephen Rothwell