diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 6633c742..abfb72a 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1420,6 +1420,7 @@
 	void __iomem *port_mmio = ap->ioaddr.cmd_addr;
 	struct ata_eh_info *ehi = &ap->link.eh_info;
 	struct ahci_port_priv *pp = ap->private_data;
+	struct ahci_host_priv *hpriv = ap->host->private_data;
 	u32 status, qc_active;
 	int rc, known_irq = 0;
 
@@ -1432,17 +1433,28 @@
 	}
 
 	if (status & PORT_IRQ_SDB_FIS) {
-		/* If the 'N' bit in word 0 of the FIS is set, we just
-		 * received asynchronous notification.  Tell libata
-		 * about it.  Note that as the SDB FIS itself is
-		 * accessible, SNotification can be emulated by the
-		 * driver but don't bother for the time being.
+		/* If SNotification is available, leave notification
+		 * handling to sata_async_notification().  If not,
+		 * emulate it by snooping SDB FIS RX area.
+		 *
+		 * Snooping FIS RX area is probably cheaper than
+		 * poking SNotification but some constrollers which
+		 * implement SNotification, ICH9 for example, don't
+		 * store AN SDB FIS into receive area.
 		 */
-		const __le32 *f = pp->rx_fis + RX_FIS_SDB;
-		u32 f0 = le32_to_cpu(f[0]);
-
-		if (f0 & (1 << 15))
+		if (hpriv->cap & HOST_CAP_SNTF)
 			sata_async_notification(ap);
+		else {
+			/* If the 'N' bit in word 0 of the FIS is set,
+			 * we just received asynchronous notification.
+			 * Tell libata about it.
+			 */
+			const __le32 *f = pp->rx_fis + RX_FIS_SDB;
+			u32 f0 = le32_to_cpu(f[0]);
+
+			if (f0 & (1 << 15))
+				sata_async_notification(ap);
+		}
 	}
 
 	/* pp->active_link is valid iff any command is in flight */
