diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 09069da22749b24d5c5e2a55d763603d5af65512..99fe50e941beb4fa9f71d9a9d23c1cf59f9d481e 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -627,24 +627,6 @@ int ide_ata66_check (ide_drive_t *drive, ide_task_t *args) return 0; } -/* - * Backside of HDIO_DRIVE_CMD call of SETFEATURES_XFER. - * 1 : Safe to update drive->id DMA registers. - * 0 : OOPs not allowed. - */ -int set_transfer (ide_drive_t *drive, ide_task_t *args) -{ - if (args->tf.command == WIN_SETFEATURES && - args->tf.nsect >= XFER_SW_DMA_0 && - args->tf.feature == SETFEATURES_XFER && - (drive->id->dma_ultra || - drive->id->dma_mword || - drive->id->dma_1word)) - return 1; - - return 0; -} - #ifdef CONFIG_BLK_DEV_IDEDMA static u8 ide_auto_reduce_xfer (ide_drive_t *drive) { diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 16a9a581d089501053a6a6efd822c0b98d485da9..bf72b6d9f68521b33ac20fbc9b7f4e41bc6130a6 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c @@ -755,6 +755,7 @@ int ide_cmd_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) u8 args[4], xfer_rate = 0; ide_task_t tfargs; struct ide_taskfile *tf = &tfargs.tf; + struct hd_driveid *id = drive->id; if (NULL == (void *) arg) { struct request rq; @@ -792,7 +793,10 @@ int ide_cmd_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) return -ENOMEM; } - if (set_transfer(drive, &tfargs)) { + if (tf->command == WIN_SETFEATURES && + tf->feature == SETFEATURES_XFER && + tf->nsect >= XFER_SW_DMA_0 && + (id->dma_ultra || id->dma_mword || id->dma_1word)) { xfer_rate = args[1]; if (ide_ata66_check(drive, &tfargs)) goto abort; diff --git a/include/linux/ide.h b/include/linux/ide.h index e2048d2ca64c8d80870a65e2d07a24e34b43201b..b41eb7d12cd2de302f0c251064b832bd28b14f96 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -991,7 +991,6 @@ extern int ide_driveid_update(ide_drive_t *); extern int ide_ata66_check(ide_drive_t *, ide_task_t *); extern int ide_config_drive_speed(ide_drive_t *, u8); extern u8 eighty_ninty_three (ide_drive_t *); -extern int set_transfer(ide_drive_t *, ide_task_t *); extern int taskfile_lib_get_identify(ide_drive_t *drive, u8 *); extern int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout);