From 9346a10d743238a17f91cd89d7bc69d41bf31f72 Mon Sep 17 00:00:00 2001 From: kamkow1 Date: Thu, 16 Apr 2026 21:59:46 +0200 Subject: [PATCH] idedrv Reject drive request if idedrv->current_req != NULL --- kernel/device/storage/idedrv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/device/storage/idedrv.c b/kernel/device/storage/idedrv.c index 958390b..cad9ce2 100644 --- a/kernel/device/storage/idedrv.c +++ b/kernel/device/storage/idedrv.c @@ -286,6 +286,9 @@ DEFINE_DEVICE_OP (idedrv_read) { if (sector + sector_count > idedrv->sector_count) return -ST_OOB_ERROR; + if (idedrv->current_req != NULL) + return -ST_TRY_AGAIN; + if (!ide_wait (idedrv->io, 100000, false, false)) return -ST_XDRV_READ_ERROR; @@ -347,6 +350,9 @@ DEFINE_DEVICE_OP (idedrv_write) { if (sector + sector_count > idedrv->sector_count) return -ST_OOB_ERROR; + if (idedrv->current_req != NULL) + return -ST_TRY_AGAIN; + if (!ide_wait (idedrv->io, 100000, false, false)) return -ST_XDRV_WRITE_ERROR;