diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index c89f0d3058e9..e04967ac25b6 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -654,7 +654,8 @@ static ide_startstop_t drive_cmd_intr (ide_drive_t *drive) | |||
654 | int retries = 10; | 654 | int retries = 10; |
655 | 655 | ||
656 | local_irq_enable_in_hardirq(); | 656 | local_irq_enable_in_hardirq(); |
657 | if ((stat & DRQ_STAT) && args && args[3]) { | 657 | if (rq->cmd_type == REQ_TYPE_ATA_CMD && |
658 | (stat & DRQ_STAT) && args && args[3]) { | ||
658 | u8 io_32bit = drive->io_32bit; | 659 | u8 io_32bit = drive->io_32bit; |
659 | drive->io_32bit = 0; | 660 | drive->io_32bit = 0; |
660 | hwif->ata_input_data(drive, &args[4], args[3] * SECTOR_WORDS); | 661 | hwif->ata_input_data(drive, &args[4], args[3] * SECTOR_WORDS); |