From: weiping zhang zwp10758@gmail.com
This patch has been added to the stable tree. If you have any objections, please let us know.
===============
[ Upstream commit e60ea67bb60459b95a50a156296041a13e0e380e ]
index can be reused by other virtio device.
Cc: stable@vger.kernel.org Signed-off-by: weiping zhang zhangweiping@didichuxing.com Reviewed-by: Cornelia Huck cohuck@redhat.com Signed-off-by: Michael S. Tsirkin mst@redhat.com Signed-off-by: Sasha Levin alexander.levin@microsoft.com --- drivers/virtio/virtio.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index b1877d73fa56..42a51c872754 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -323,6 +323,8 @@ int register_virtio_device(struct virtio_device *dev) /* device_register() causes the bus infrastructure to look for a * matching driver. */ err = device_register(&dev->dev); + if (err) + ida_simple_remove(&virtio_index_ida, dev->index); out: if (err) add_status(dev, VIRTIO_CONFIG_S_FAILED);