ChangeSet 1.2224.1.121, 2005/04/02 15:31:35+02:00, [EMAIL PROTECTED](none)

        [ide] drive->dsc_overlap fix
        
        drive->dsc_overlap is supported only by ide-{cd,tape} drivers.
        Add missing clearing of ->dsc_overlap to ide_{cd,tape}_release()
        and move ->dsc_overlap setup from ide_register_subdriver() to
        ide_cdrom_setup() (ide-tape enables it unconditionally).
        
        Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>



 ide-cd.c   |    4 ++++
 ide-tape.c |    1 +
 ide.c      |    5 -----
 3 files changed, 5 insertions(+), 5 deletions(-)


diff -Nru a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
--- a/drivers/ide/ide-cd.c      2005-04-03 21:23:58 -07:00
+++ b/drivers/ide/ide-cd.c      2005-04-03 21:23:58 -07:00
@@ -3219,6 +3219,9 @@
         */
        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 @@
        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 -Nru a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
--- a/drivers/ide/ide-tape.c    2005-04-03 21:23:58 -07:00
+++ b/drivers/ide/ide-tape.c    2005-04-03 21:23:58 -07:00
@@ -4698,6 +4698,7 @@
        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 -Nru a/drivers/ide/ide.c b/drivers/ide/ide.c
--- a/drivers/ide/ide.c 2005-04-03 21:23:58 -07:00
+++ b/drivers/ide/ide.c 2005-04-03 21:23:58 -07:00
@@ -2034,11 +2034,6 @@
        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);
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to