DF-1944 / fix.diff
diff --git a/sys/dev/disk/nata/atapi-fd.c b/sys/dev/disk/nata/atapi-fd.c --- a/sys/dev/disk/nata/atapi-fd.c +++ b/sys/dev/disk/nata/atapi-fd.c @@ -173,6 +173,11 @@ if (((atadev->unit == ATA_MASTER) && !(ch->devices & ATA_ATAPI_MASTER)) || ((atadev->unit == ATA_SLAVE) && !(ch->devices & ATA_ATAPI_SLAVE))) { + if (fdp) { + disk_invalidate(&fdp->disk); + disk_destroy(&fdp->disk); + devstat_remove_entry(&fdp->stats); + } device_set_ivars(dev, NULL); kfree(fdp, M_AFD); return 1; |