diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/scsi/ide-scsi.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index c0b39b9e5c14..ec9a5de2e75e 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
| @@ -364,7 +364,7 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
| 364 | u16 bcount; | 364 | u16 bcount; |
| 365 | u8 stat, ireason; | 365 | u8 stat, ireason; |
| 366 | 366 | ||
| 367 | debug_log("Reached %s interrupt handler\n", __func__); | 367 | debug_log("Enter %s - interrupt handler\n", __func__); |
| 368 | 368 | ||
| 369 | if (pc->flags & PC_FLAG_TIMEDOUT) { | 369 | if (pc->flags & PC_FLAG_TIMEDOUT) { |
| 370 | pc->callback(drive); | 370 | pc->callback(drive); |
| @@ -383,10 +383,16 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
| 383 | 383 | ||
| 384 | if ((stat & DRQ_STAT) == 0) { | 384 | if ((stat & DRQ_STAT) == 0) { |
| 385 | /* No more interrupts */ | 385 | /* No more interrupts */ |
| 386 | debug_log("Packet command completed, %d bytes transferred\n", | ||
| 387 | pc->xferred); | ||
| 386 | pc->flags &= ~PC_FLAG_DMA_IN_PROGRESS; | 388 | pc->flags &= ~PC_FLAG_DMA_IN_PROGRESS; |
| 387 | local_irq_enable_in_hardirq(); | 389 | local_irq_enable_in_hardirq(); |
| 388 | if ((stat & ERR_STAT) || (pc->flags & PC_FLAG_DMA_ERROR)) | 390 | if ((stat & ERR_STAT) || (pc->flags & PC_FLAG_DMA_ERROR)) { |
| 391 | /* Error detected */ | ||
| 392 | debug_log("%s: I/O error\n", drive->name); | ||
| 393 | |||
| 389 | rq->errors++; | 394 | rq->errors++; |
| 395 | } | ||
| 390 | pc->callback(drive); | 396 | pc->callback(drive); |
| 391 | return ide_stopped; | 397 | return ide_stopped; |
| 392 | } | 398 | } |
| @@ -457,6 +463,9 @@ static ide_startstop_t idescsi_pc_intr (ide_drive_t *drive) | |||
| 457 | pc->xferred += bcount; | 463 | pc->xferred += bcount; |
| 458 | pc->cur_pos += bcount; | 464 | pc->cur_pos += bcount; |
| 459 | 465 | ||
| 466 | debug_log("[cmd %x] transferred %d bytes on that intr.\n", | ||
| 467 | pc->c[0], bcount); | ||
| 468 | |||
| 460 | /* And set the interrupt handler again */ | 469 | /* And set the interrupt handler again */ |
| 461 | ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry); | 470 | ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry); |
| 462 | return ide_started; | 471 | return ide_started; |
