virtio: fix return value check

The virtio_blk_do_single_req function returns ulong, which normally is
the processed size, but in an error case can be the actual error. Use
the special IS_ERR_VALUE macro to test for error.

Addresses-Coverity-ID: CID 645833 (DEADCODE) & CID 645834 (NO_EFFECT)
Signed-off-by: Christian Pötzsch <christian.poetzsch@kernkonzept.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Christian Pötzsch
2026-05-12 10:39:49 +02:00
committed by Tom Rini
parent a1a47eee67
commit 36d4c65358

View File

@@ -13,6 +13,7 @@
#include <virtio.h>
#include <virtio_ring.h>
#include <linux/log2.h>
#include <linux/err.h>
#include "virtio_blk.h"
#include <malloc.h>
@@ -181,7 +182,7 @@ static ulong virtio_blk_do_req(struct udevice *dev, u64 sector,
ret = virtio_blk_do_single_req(dev, sector + i, blk_per_sg,
buffer + i * 512, type);
if (ret < 0)
if (IS_ERR_VALUE(ret))
return ret;
i += blk_per_sg;
}