diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/ide-scsi.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 9706de9d98d5..bd2b56912472 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
@@ -398,11 +398,10 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
398 | idescsi_pc_t *pc=scsi->pc; | 398 | idescsi_pc_t *pc=scsi->pc; |
399 | struct request *rq = pc->rq; | 399 | struct request *rq = pc->rq; |
400 | atapi_bcount_t bcount; | 400 | atapi_bcount_t bcount; |
401 | atapi_status_t status; | ||
402 | atapi_ireason_t ireason; | 401 | atapi_ireason_t ireason; |
403 | atapi_feature_t feature; | 402 | atapi_feature_t feature; |
404 | |||
405 | unsigned int temp; | 403 | unsigned int temp; |
404 | u8 stat; | ||
406 | 405 | ||
407 | #if IDESCSI_DEBUG_LOG | 406 | #if IDESCSI_DEBUG_LOG |
408 | printk (KERN_INFO "ide-scsi: Reached idescsi_pc_intr interrupt handler\n"); | 407 | printk (KERN_INFO "ide-scsi: Reached idescsi_pc_intr interrupt handler\n"); |
@@ -427,14 +426,14 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
427 | 426 | ||
428 | feature.all = 0; | 427 | feature.all = 0; |
429 | /* Clear the interrupt */ | 428 | /* Clear the interrupt */ |
430 | status.all = HWIF(drive)->INB(IDE_STATUS_REG); | 429 | stat = drive->hwif->INB(IDE_STATUS_REG); |
431 | 430 | ||
432 | if (!status.b.drq) { | 431 | if ((stat & DRQ_STAT) == 0) { |
433 | /* No more interrupts */ | 432 | /* No more interrupts */ |
434 | if (test_bit(IDESCSI_LOG_CMD, &scsi->log)) | 433 | if (test_bit(IDESCSI_LOG_CMD, &scsi->log)) |
435 | printk (KERN_INFO "Packet command completed, %d bytes transferred\n", pc->actually_transferred); | 434 | printk (KERN_INFO "Packet command completed, %d bytes transferred\n", pc->actually_transferred); |
436 | local_irq_enable_in_hardirq(); | 435 | local_irq_enable_in_hardirq(); |
437 | if (status.b.check) | 436 | if (stat & ERR_STAT) |
438 | rq->errors++; | 437 | rq->errors++; |
439 | idescsi_end_request (drive, 1, 0); | 438 | idescsi_end_request (drive, 1, 0); |
440 | return ide_stopped; | 439 | return ide_stopped; |