|
@@ -4585,6 +4585,15 @@ static void __exit floppy_module_exit(void)
|
|
platform_device_unregister(&floppy_device[drive]);
|
|
platform_device_unregister(&floppy_device[drive]);
|
|
}
|
|
}
|
|
blk_cleanup_queue(disks[drive]->queue);
|
|
blk_cleanup_queue(disks[drive]->queue);
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * These disks have not called add_disk(). Don't put down
|
|
|
|
+ * queue reference in put_disk().
|
|
|
|
+ */
|
|
|
|
+ if (!(allowed_drive_mask & (1 << drive)) ||
|
|
|
|
+ fdc_state[FDC(drive)].version == FDC_NONE)
|
|
|
|
+ disks[drive]->queue = NULL;
|
|
|
|
+
|
|
put_disk(disks[drive]);
|
|
put_disk(disks[drive]);
|
|
}
|
|
}
|
|
|
|
|