Re: [PATCH] ahci: improve and limit spurious interrupt messages, take#2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tejun Heo wrote:
-	/* ignore interim PIO setup fis interrupts */
-	if (ata_tag_valid(ap->active_tag) && (status & PORT_IRQ_PIOS_FIS))
-		return;
+	if ((status & PORT_IRQ_D2H_REG_FIS) &&
+	    !(pp->seen_status & PORT_IRQ_D2H_REG_FIS)) {
+		ata_port_printk(ap, KERN_INFO, "D2H reg with I during NCQ, "
+				"this message won't be printed again\n");
+		pp->seen_status |= PORT_IRQ_D2H_REG_FIS;
+	} else if ((status & PORT_IRQ_DMAS_FIS) &&
+		   !(pp->seen_status & PORT_IRQ_DMAS_FIS)) {
+		ata_port_printk(ap, KERN_INFO, "DMAS FIS during NCQ, "
+				"this message won't be printed again\n");
+		pp->seen_status |= PORT_IRQ_DMAS_FIS;
+	} else if (status & PORT_IRQ_SDB_FIS && pp->spurious_sdb_cnt < 10) {
+		/* SDB FIS containing spurious completions might be
+		 * dangerous, we need to know more about them.  Print
+		 * more of it.
+		 */
+		const u32 *f = pp->rx_fis + RX_FIS_SDB;


This if/else/else tree does not take into account the possiblity that more than one bit may be set.

	Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux