diff options
Diffstat (limited to 'drivers/block/ide-features.c')
-rw-r--r-- | drivers/block/ide-features.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/block/ide-features.c b/drivers/block/ide-features.c index 3167dc7fd..87b7cacb4 100644 --- a/drivers/block/ide-features.c +++ b/drivers/block/ide-features.c @@ -188,7 +188,7 @@ int ide_ata66_check (ide_drive_t *drive, int cmd, int nsect, int feature) printk("%s: Speed warnings UDMA 3/4 is not functional.\n", HWIF(drive)->name); return 1; } - if ((drive->id->word93 & 0x2000) == 0) { + if ((drive->id->hw_config & 0x2000) == 0) { printk("%s: Speed warnings UDMA 3/4 is not functional.\n", drive->name); return 1; } @@ -213,6 +213,22 @@ int set_transfer (ide_drive_t *drive, int cmd, int nsect, int feature) return 0; } +#if 0 +ide_startstop_t set_drive_speed_intr (ide_drive_t *drive) +{ + byte stat; + + if (!OK_STAT(stat=GET_STAT(),READY_STAT,BAD_STAT)) +/* + * if (!OK_STAT(stat=GET_STAT(),DRIVE_READY,BAD_STAT)) + * if (stat != DRIVE_READY) + */ + (void) ide_dump_status(drive, "set_drive_speed_status", stat); + + return ide_stopped; +} +#endif + int ide_config_drive_speed (ide_drive_t *drive, byte speed) { unsigned long flags; @@ -244,6 +260,10 @@ int ide_config_drive_speed (ide_drive_t *drive, byte speed) __restore_flags(flags); /* local CPU only */ +#if 0 + ide_set_handler(drive, &set_drive_speed_intr, WAIT_CMD, NULL); +#endif + stat = GET_STAT(); if (stat != DRIVE_READY) (void) ide_dump_status(drive, "set_drive_speed_status", stat); |