[PATCH] virtio: fix return value check
Christian Pötzsch
christian.poetzsch at kernkonzept.com
Tue May 12 10:39:49 CEST 2026
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 at kernkonzept.com>
---
drivers/virtio/virtio_blk.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/virtio/virtio_blk.c b/drivers/virtio/virtio_blk.c
index 45fb596a330..7b1d891cdcb 100644
--- a/drivers/virtio/virtio_blk.c
+++ b/drivers/virtio/virtio_blk.c
@@ -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;
}
--
2.47.3
More information about the U-Boot
mailing list