DragonFlyBSD Kernel Audit
DF-1887 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/vinum/vinumrevive.c b/sys/dev/raid/vinum/vinumrevive.c
--- a/sys/dev/raid/vinum/vinumrevive.c
+++ b/sys/dev/raid/vinum/vinumrevive.c
@@ -181,6 +181,10 @@
 	bp->b_bio1.bio_done = biodone_sync;
 	sdio(&bp->b_bio1);				    /* perform the I/O */
 	biowait(&bp->b_bio1, "drvwr");
+	if (lock) {
+	    unlockrange(sd->plexno, lock);
+	    lock = 0;
+	}
 	if (bp->b_flags & B_ERROR)
 	    error = bp->b_error;
 	else {