DragonFlyBSD Kernel Audit
DF-1752 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/disk/nata/ata-queue.c b/sys/dev/disk/nata/ata-queue.c
--- a/sys/dev/disk/nata/ata-queue.c
+++ b/sys/dev/disk/nata/ata-queue.c
@@ -577,6 +577,7 @@
     if ((request = ch->running) && (!dev || request->dev == dev)) {
 	callout_cancel(&request->callout);
 	ch->running = NULL;
+	ATA_LOCKING(ch->dev, ATA_LF_UNLOCK);
 	request->result = ENXIO;
 	TAILQ_INSERT_TAIL(&fail_requests, request, chain);
     }