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