[PATCH] sil24: make error_intr less verbose
authorTejun Heo <htejun@gmail.com>
Fri, 18 Nov 2005 05:22:03 +0000 (14:22 +0900)
committerJeff Garzik <jgarzik@pobox.com>
Fri, 18 Nov 2005 18:11:39 +0000 (13:11 -0500)
sil24_error_intr logs all error interrupts.  ATAPI devices generates
many harmless errors which can be ignored and all serious ones are
reported via sense data by SCSI layer.  Don't log device errors from
ATAPI devices.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/scsi/sata_sil24.c

index 340641f..e0d6f19 100644 (file)
@@ -684,9 +684,15 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat)
        if (serror)
                writel(serror, port + PORT_SERROR);
 
-       printk(KERN_ERR DRV_NAME " ata%u: error interrupt on port%d\n"
-              "  stat=0x%x irq=0x%x cmd_err=%d sstatus=0x%x serror=0x%x\n",
-              ap->id, ap->port_no, slot_stat, irq_stat, cmd_err, sstatus, serror);
+       /*
+        * Don't log ATAPI device errors.  They're supposed to happen
+        * and any serious errors will be logged using sense data by
+        * the SCSI layer.
+        */
+       if (ap->device[0].class != ATA_DEV_ATAPI || cmd_err > PORT_CERR_SDB)
+               printk("ata%u: error interrupt on port%d\n"
+                      "  stat=0x%x irq=0x%x cmd_err=%d sstatus=0x%x serror=0x%x\n",
+                      ap->id, ap->port_no, slot_stat, irq_stat, cmd_err, sstatus, serror);
 
        if (cmd_err == PORT_CERR_DEV || cmd_err == PORT_CERR_SDB) {
                /*