From: Bartlomiej Zolnierkiewicz drive_is_ready() reads STATUS register if CONFIG_IDEPCI_SHARE_IRQ is not defined and ALTSTATUS register if it is defined. Therefore drive_is_ready() in pre_task_mulout_intr() only makes sense if we can't trust STATUS register (because we call ide_wait_stat() which reads STATUS register earlier). Remove this "workaround" for now as it is not present in ide-disk.c and whole multi PIO-out code (CONFIG_IDE_TASKFILE_IO=n) was buggy before. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton --- 25-akpm/drivers/ide/ide-taskfile.c | 7 ------- 1 files changed, 7 deletions(-) diff -puN drivers/ide/ide-taskfile.c~ide_pre_task_mulout_intr drivers/ide/ide-taskfile.c --- 25/drivers/ide/ide-taskfile.c~ide_pre_task_mulout_intr 2004-06-30 10:40:38.260030152 -0700 +++ 25-akpm/drivers/ide/ide-taskfile.c 2004-06-30 10:40:38.264029544 -0700 @@ -433,13 +433,6 @@ ide_startstop_t pre_task_mulout_intr (id drive->addressing ? "MULTWRITE_EXT" : "MULTWRITE"); return startstop; } - if (!(drive_is_ready(drive))) { - int i; - for (i=0; i<100; i++) { - if (drive_is_ready(drive)) - break; - } - } ide_set_handler(drive, &task_mulout_intr, WAIT_WORSTCASE, NULL); task_buffer_multi_sectors(drive, rq, IDE_PIO_OUT); _