virtio: fix off by one device id comparison
authorVincent Stehlé <vincent.stehle@laposte.net>
Sun, 14 Feb 2021 18:39:04 +0000 (19:39 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 24 Feb 2021 21:51:48 +0000 (16:51 -0500)
VIRTIO_ID_MAX_NUM is the largest device ID plus 1. Therefore a device id
cannot be greater or equal to VIRTIO_ID_MAX_NUM. Fix the comparison
accordingly.

Fixes: 8fb49b4c7a82 ("dm: Add a new uclass driver for VirtIO transport devices")
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
drivers/virtio/virtio-uclass.c

index cf2cfae..0379536 100644 (file)
@@ -227,7 +227,7 @@ static int virtio_uclass_post_probe(struct udevice *udev)
        struct udevice *vdev;
        int ret;
 
-       if (uc_priv->device > VIRTIO_ID_MAX_NUM) {
+       if (uc_priv->device >= VIRTIO_ID_MAX_NUM) {
                debug("(%s): virtio device ID %d exceeds maximum num\n",
                      udev->name, uc_priv->device);
                return 0;