diff options
| -rw-r--r-- | drivers/ide/ide-tape.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 6801c68ee7da..10f2d3336286 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
| @@ -56,6 +56,8 @@ enum { | |||
| 56 | DBG_PROCS = (1 << 3), | 56 | DBG_PROCS = (1 << 3), |
| 57 | /* buffer alloc info (pc_stack & rq_stack) */ | 57 | /* buffer alloc info (pc_stack & rq_stack) */ |
| 58 | DBG_PCRQ_STACK = (1 << 4), | 58 | DBG_PCRQ_STACK = (1 << 4), |
| 59 | /* IRQ handler (always log debug info if debugging is on) */ | ||
| 60 | DBG_PC_INTR = (1 << 5), | ||
| 59 | }; | 61 | }; |
| 60 | 62 | ||
| 61 | /* define to see debug info */ | 63 | /* define to see debug info */ |
| @@ -64,7 +66,7 @@ enum { | |||
| 64 | #if IDETAPE_DEBUG_LOG | 66 | #if IDETAPE_DEBUG_LOG |
| 65 | #define debug_log(lvl, fmt, args...) \ | 67 | #define debug_log(lvl, fmt, args...) \ |
| 66 | { \ | 68 | { \ |
| 67 | if (tape->debug_mask & lvl) \ | 69 | if ((lvl & DBG_PC_INTR) || (tape->debug_mask & lvl)) \ |
| 68 | printk(KERN_INFO "ide-tape: " fmt, ## args); \ | 70 | printk(KERN_INFO "ide-tape: " fmt, ## args); \ |
| 69 | } | 71 | } |
| 70 | #else | 72 | #else |
| @@ -806,7 +808,7 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive) | |||
| 806 | u16 bcount; | 808 | u16 bcount; |
| 807 | u8 stat, ireason; | 809 | u8 stat, ireason; |
| 808 | 810 | ||
| 809 | debug_log(DBG_PROCS, "Enter %s - interrupt handler\n", __func__); | 811 | debug_log(DBG_PC_INTR, "Enter %s - interrupt handler\n", __func__); |
| 810 | 812 | ||
| 811 | /* Clear the interrupt */ | 813 | /* Clear the interrupt */ |
| 812 | stat = ide_read_status(drive); | 814 | stat = ide_read_status(drive); |
| @@ -818,13 +820,12 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive) | |||
| 818 | pc->xferred = pc->req_xfer; | 820 | pc->xferred = pc->req_xfer; |
| 819 | idetape_update_buffers(pc); | 821 | idetape_update_buffers(pc); |
| 820 | } | 822 | } |
| 821 | debug_log(DBG_PROCS, "DMA finished\n"); | 823 | debug_log(DBG_PC_INTR, "%s: DMA finished\n", drive->name); |
| 822 | |||
| 823 | } | 824 | } |
| 824 | 825 | ||
| 825 | /* No more interrupts */ | 826 | /* No more interrupts */ |
| 826 | if ((stat & DRQ_STAT) == 0) { | 827 | if ((stat & DRQ_STAT) == 0) { |
| 827 | debug_log(DBG_SENSE, "Packet command completed, %d bytes" | 828 | debug_log(DBG_PC_INTR, "Packet command completed, %d bytes" |
| 828 | " transferred\n", pc->xferred); | 829 | " transferred\n", pc->xferred); |
| 829 | 830 | ||
| 830 | pc->flags &= ~PC_FLAG_DMA_IN_PROGRESS; | 831 | pc->flags &= ~PC_FLAG_DMA_IN_PROGRESS; |
| @@ -834,14 +835,14 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive) | |||
| 834 | stat &= ~ERR_STAT; | 835 | stat &= ~ERR_STAT; |
| 835 | if ((stat & ERR_STAT) || (pc->flags & PC_FLAG_DMA_ERROR)) { | 836 | if ((stat & ERR_STAT) || (pc->flags & PC_FLAG_DMA_ERROR)) { |
| 836 | /* Error detected */ | 837 | /* Error detected */ |
| 837 | debug_log(DBG_ERR, "%s: I/O error\n", tape->name); | 838 | debug_log(DBG_PC_INTR, "%s: I/O error\n", drive->name); |
| 838 | 839 | ||
| 839 | if (pc->c[0] == REQUEST_SENSE) { | 840 | if (pc->c[0] == REQUEST_SENSE) { |
| 840 | printk(KERN_ERR "%s: I/O error in request sense" | 841 | printk(KERN_ERR "%s: I/O error in request sense" |
| 841 | " command\n", drive->name); | 842 | " command\n", drive->name); |
| 842 | return ide_do_reset(drive); | 843 | return ide_do_reset(drive); |
| 843 | } | 844 | } |
| 844 | debug_log(DBG_ERR, "[cmd %x]: check condition\n", | 845 | debug_log(DBG_PC_INTR, "[cmd %x]: check condition\n", |
| 845 | pc->c[0]); | 846 | pc->c[0]); |
| 846 | 847 | ||
| 847 | /* Retry operation */ | 848 | /* Retry operation */ |
| @@ -898,7 +899,7 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive) | |||
| 898 | IDETAPE_WAIT_CMD, NULL); | 899 | IDETAPE_WAIT_CMD, NULL); |
| 899 | return ide_started; | 900 | return ide_started; |
| 900 | } | 901 | } |
| 901 | debug_log(DBG_SENSE, "The device wants to send us more " | 902 | debug_log(DBG_PC_INTR, "The device wants to send us more " |
| 902 | "data than expected - allowing transfer\n"); | 903 | "data than expected - allowing transfer\n"); |
| 903 | } | 904 | } |
| 904 | xferfunc = hwif->input_data; | 905 | xferfunc = hwif->input_data; |
| @@ -916,7 +917,7 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive) | |||
| 916 | pc->xferred += bcount; | 917 | pc->xferred += bcount; |
| 917 | pc->cur_pos += bcount; | 918 | pc->cur_pos += bcount; |
| 918 | 919 | ||
| 919 | debug_log(DBG_SENSE, "[cmd %x] transferred %d bytes on that intr.\n", | 920 | debug_log(DBG_PC_INTR, "[cmd %x] transferred %d bytes on that intr.\n", |
| 920 | pc->c[0], bcount); | 921 | pc->c[0], bcount); |
| 921 | 922 | ||
| 922 | /* And set the interrupt handler again */ | 923 | /* And set the interrupt handler again */ |
