diff options
author | Robert Hancock <hancockr@shaw.ca> | 2007-02-19 20:01:59 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-21 04:58:19 -0500 |
commit | 08af7414786a3f35b686f68ada3de0b202c03d8c (patch) | |
tree | f6357fbff78562cac9a7a6d7fb4c283e2aea841a /drivers | |
parent | 9dd6fa3231f9c6003080d189c94599e6a6b97dbf (diff) |
sata_nv: Add CPB register info to error_handler output
When error handling occurs with pending commands, output the contents
of the next CPB count and next CPB index registers as well as the others,
since these may be useful for debugging.
Signed-off-by: Robert Hancock <hancockr@shaw.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/sata_nv.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index b93e64d3fcf1..367027bc4cd7 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
@@ -1462,10 +1462,14 @@ static void nv_adma_error_handler(struct ata_port *ap) | |||
1462 | u32 notifier_error = readl(mmio + NV_ADMA_NOTIFIER_ERROR); | 1462 | u32 notifier_error = readl(mmio + NV_ADMA_NOTIFIER_ERROR); |
1463 | u32 gen_ctl = readl(pp->gen_block + NV_ADMA_GEN_CTL); | 1463 | u32 gen_ctl = readl(pp->gen_block + NV_ADMA_GEN_CTL); |
1464 | u32 status = readw(mmio + NV_ADMA_STAT); | 1464 | u32 status = readw(mmio + NV_ADMA_STAT); |
1465 | u8 cpb_count = readb(mmio + NV_ADMA_CPB_COUNT); | ||
1466 | u8 next_cpb_idx = readb(mmio + NV_ADMA_NEXT_CPB_IDX); | ||
1465 | 1467 | ||
1466 | ata_port_printk(ap, KERN_ERR, "EH in ADMA mode, notifier 0x%X " | 1468 | ata_port_printk(ap, KERN_ERR, "EH in ADMA mode, notifier 0x%X " |
1467 | "notifier_error 0x%X gen_ctl 0x%X status 0x%X\n", | 1469 | "notifier_error 0x%X gen_ctl 0x%X status 0x%X " |
1468 | notifier, notifier_error, gen_ctl, status); | 1470 | "next cpb count 0x%X next cpb idx 0x%x\n", |
1471 | notifier, notifier_error, gen_ctl, status, | ||
1472 | cpb_count, next_cpb_idx); | ||
1469 | 1473 | ||
1470 | for( i=0;i<NV_ADMA_MAX_CPBS;i++) { | 1474 | for( i=0;i<NV_ADMA_MAX_CPBS;i++) { |
1471 | struct nv_adma_cpb *cpb = &pp->cpb[i]; | 1475 | struct nv_adma_cpb *cpb = &pp->cpb[i]; |