aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ide-scsi.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-15 15:21:59 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-15 15:21:59 -0400
commit28c7214bd8c2bbd4873b8f1e7f58d86d3731124f (patch)
tree224d9b798a73a3b5d0d8de204a6e9465a37c4104 /drivers/scsi/ide-scsi.c
parent4cc196897de9e6c02cf86debc5b9f7cf1b69a214 (diff)
ide: add PC_FLAG_DRQ_INTERRUPT pc flag
Add PC_FLAG_DRQ_INTERRUPT pc flag, set it in ide*_do_request() and check for it (instead of checking for IDE*_FLAG_DRQ_INTERRUPT) in ide*_issue_pc(). This is a preparation for adding generic ide_issue_pc() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/scsi/ide-scsi.c')
-rw-r--r--drivers/scsi/ide-scsi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c
index 1d261298d61a..b7c5e8391575 100644
--- a/drivers/scsi/ide-scsi.c
+++ b/drivers/scsi/ide-scsi.c
@@ -525,7 +525,7 @@ static ide_startstop_t idescsi_issue_pc(ide_drive_t *drive,
525 525
526 ide_pktcmd_tf_load(drive, 0, bcount, dma); 526 ide_pktcmd_tf_load(drive, 0, bcount, dma);
527 527
528 if (test_bit(IDESCSI_DRQ_INTERRUPT, &scsi->flags)) { 528 if (pc->flags & PC_FLAG_DRQ_INTERRUPT) {
529 ide_execute_command(drive, WIN_PACKETCMD, &idescsi_transfer_pc, 529 ide_execute_command(drive, WIN_PACKETCMD, &idescsi_transfer_pc,
530 get_timeout(pc), idescsi_expiry); 530 get_timeout(pc), idescsi_expiry);
531 return ide_started; 531 return ide_started;
@@ -548,6 +548,10 @@ static ide_startstop_t idescsi_do_request (ide_drive_t *drive, struct request *r
548 548
549 if (blk_sense_request(rq) || blk_special_request(rq)) { 549 if (blk_sense_request(rq) || blk_special_request(rq)) {
550 struct ide_atapi_pc *pc = (struct ide_atapi_pc *)rq->special; 550 struct ide_atapi_pc *pc = (struct ide_atapi_pc *)rq->special;
551 idescsi_scsi_t *scsi = drive_to_idescsi(drive);
552
553 if (test_bit(IDESCSI_DRQ_INTERRUPT, &scsi->flags))
554 pc->flags |= PC_FLAG_DRQ_INTERRUPT;
551 555
552 if (drive->using_dma && !idescsi_map_sg(drive, pc)) 556 if (drive->using_dma && !idescsi_map_sg(drive, pc))
553 pc->flags |= PC_FLAG_DMA_OK; 557 pc->flags |= PC_FLAG_DMA_OK;