diff options
Diffstat (limited to 'drivers/scsi/ide-scsi.c')
-rw-r--r-- | drivers/scsi/ide-scsi.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 5ed00069846d..6c4f0f081785 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
@@ -588,19 +588,14 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc) | |||
588 | hwif->sg_mapped = 0; | 588 | hwif->sg_mapped = 0; |
589 | } | 589 | } |
590 | 590 | ||
591 | SELECT_DRIVE(drive); | ||
592 | |||
593 | ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK, bcount, dma); | 591 | ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK, bcount, dma); |
594 | 592 | ||
595 | if (dma) | 593 | if (dma) |
596 | set_bit(PC_DMA_OK, &pc->flags); | 594 | set_bit(PC_DMA_OK, &pc->flags); |
597 | 595 | ||
598 | if (test_bit(IDESCSI_DRQ_INTERRUPT, &scsi->flags)) { | 596 | if (test_bit(IDESCSI_DRQ_INTERRUPT, &scsi->flags)) { |
599 | BUG_ON(HWGROUP(drive)->handler != NULL); | 597 | ide_execute_command(drive, WIN_PACKETCMD, &idescsi_transfer_pc, |
600 | ide_set_handler(drive, &idescsi_transfer_pc, | 598 | get_timeout(pc), idescsi_expiry); |
601 | get_timeout(pc), idescsi_expiry); | ||
602 | /* Issue the packet command */ | ||
603 | HWIF(drive)->OUTB(WIN_PACKETCMD, IDE_COMMAND_REG); | ||
604 | return ide_started; | 599 | return ide_started; |
605 | } else { | 600 | } else { |
606 | /* Issue the packet command */ | 601 | /* Issue the packet command */ |