summaryrefslogtreecommitdiffstats
path: root/drivers/s390/virtio
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2019-02-04 08:57:24 +0100
committerIngo Molnar <mingo@kernel.org>2019-02-04 08:57:24 +0100
commit31fe3cbbf26772ad83d2800dcb001f3dae92692e (patch)
treeb56d8a61ff4fb4f44881637aa236d09860e5c63b /drivers/s390/virtio
parentfutex: No need to check return value of debugfs_create functions (diff)
parentLinux 5.0-rc5 (diff)
downloadlinux-31fe3cbbf26772ad83d2800dcb001f3dae92692e.tar.xz
linux-31fe3cbbf26772ad83d2800dcb001f3dae92692e.zip
Merge tag 'v5.0-rc5' into locking/core to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/s390/virtio')
-rw-r--r--drivers/s390/virtio/virtio_ccw.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
index fc9dbad476c0..ae1d56da671d 100644
--- a/drivers/s390/virtio/virtio_ccw.c
+++ b/drivers/s390/virtio/virtio_ccw.c
@@ -635,7 +635,7 @@ static int virtio_ccw_find_vqs(struct virtio_device *vdev, unsigned nvqs,
{
struct virtio_ccw_device *vcdev = to_vc_device(vdev);
unsigned long *indicatorp = NULL;
- int ret, i;
+ int ret, i, queue_idx = 0;
struct ccw1 *ccw;
ccw = kzalloc(sizeof(*ccw), GFP_DMA | GFP_KERNEL);
@@ -643,8 +643,14 @@ static int virtio_ccw_find_vqs(struct virtio_device *vdev, unsigned nvqs,
return -ENOMEM;
for (i = 0; i < nvqs; ++i) {
- vqs[i] = virtio_ccw_setup_vq(vdev, i, callbacks[i], names[i],
- ctx ? ctx[i] : false, ccw);
+ if (!names[i]) {
+ vqs[i] = NULL;
+ continue;
+ }
+
+ vqs[i] = virtio_ccw_setup_vq(vdev, queue_idx++, callbacks[i],
+ names[i], ctx ? ctx[i] : false,
+ ccw);
if (IS_ERR(vqs[i])) {
ret = PTR_ERR(vqs[i]);
vqs[i] = NULL;