aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/ide-cd.c4
-rw-r--r--drivers/ide/ide-tape.c1
-rw-r--r--drivers/ide/ide.c5
3 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 4b96aa193161f..dfa50ef0ad29b 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -3219,6 +3219,9 @@ int ide_cdrom_setup (ide_drive_t *drive)
*/
blk_queue_hardsect_size(drive->queue, CD_FRAMESIZE);
+ if (drive->autotune == IDE_TUNE_DEFAULT ||
+ drive->autotune == IDE_TUNE_AUTO)
+ drive->dsc_overlap = (drive->next != drive);
#if 0
drive->dsc_overlap = (HWIF(drive)->no_dsc) ? 0 : 1;
if (HWIF(drive)->no_dsc) {
@@ -3282,6 +3285,7 @@ static void ide_cd_release(struct kref *kref)
if (devinfo->handle == drive && unregister_cdrom(devinfo))
printk(KERN_ERR "%s: %s failed to unregister device from the cdrom "
"driver.\n", __FUNCTION__, drive->name);
+ drive->dsc_overlap = 0;
drive->driver_data = NULL;
blk_queue_prep_rq(drive->queue, NULL);
g->private_data = NULL;
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 913d762c5220d..8802679c3eff9 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -4698,6 +4698,7 @@ static void ide_tape_release(struct kref *kref)
ide_drive_t *drive = tape->drive;
struct gendisk *g = drive->disk;
+ drive->dsc_overlap = 0;
drive->driver_data = NULL;
devfs_remove("%s/mt", drive->devfs_name);
devfs_remove("%s/mtn", drive->devfs_name);
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index f1f1091894cc9..9990e2294308f 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -2034,11 +2034,6 @@ int ide_register_subdriver(ide_drive_t *drive, ide_driver_t *driver)
list_add_tail(&drive->list, &driver->drives);
spin_unlock(&drives_lock);
// printk(KERN_INFO "%s: attached %s driver.\n", drive->name, driver->name);
- if ((drive->autotune == IDE_TUNE_DEFAULT) ||
- (drive->autotune == IDE_TUNE_AUTO)) {
- /* DMA timings and setup moved to ide-probe.c */
- drive->dsc_overlap = (drive->next != drive && driver->supports_dsc_overlap);
- }
#ifdef CONFIG_PROC_FS
if (drive->driver != &idedefault_driver)
ide_add_proc_entries(drive->proc, driver->proc, drive);