DragonFlyBSD Kernel Audit
DF-2066 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/mfi/mfi_syspd.c b/sys/dev/raid/mfi/mfi_syspd.c
--- a/sys/dev/raid/mfi/mfi_syspd.c
+++ b/sys/dev/raid/mfi/mfi_syspd.c
@@ -248,11 +248,17 @@
 
 	if (controller->hw_crit_error) {
 		bp->b_error = EBUSY;
+		bp->b_flags |= B_ERROR;
+		bp->b_resid = bp->b_bcount;
+		biodone(bio);
 		return (0);
 	}
 
 	if (controller->issuepend_done == 0) {
 		bp->b_error = EBUSY;
+		bp->b_flags |= B_ERROR;
+		bp->b_resid = bp->b_bcount;
+		biodone(bio);
 		return (0);
 	}