Title: [6864] trunk/drivers/ata/libata-core.c: Fix bug [#5216], enable_irq only after irq ready to handle
- Revision
- 6864
- Author
- bhsong
- Date
- 2009-06-29 03:34:52 -0500 (Mon, 29 Jun 2009)
Log Message
Fix bug [#5216], enable_irq only after irq ready to handle
Modified Paths
Diff
Modified: trunk/drivers/ata/libata-core.c (6863 => 6864)
--- trunk/drivers/ata/libata-core.c 2009-06-29 04:03:21 UTC (rev 6863)
+++ trunk/drivers/ata/libata-core.c 2009-06-29 08:34:52 UTC (rev 6864)
@@ -6051,6 +6051,11 @@
ata_scsi_scan_host(ap, 1);
+ /* enable irq after probe if it is asked to be disabled when request */
+ if (((ap - ap->host->ports[0]) / sizeof(*ap)) == (ap->host->n_ports - 1)) {
+ if (ap->host->irq_flags & IRQF_DISABLED)
+ enable_irq(ap->host->irq);
+ }
}
/**
* ata_host_register - register initialized ATA host
@@ -6127,10 +6132,6 @@
ata_port_printk(ap, KERN_INFO, "DUMMY\n");
}
- /* enable irq after probe if it is asked to be disabled when request */
- if (host->irq_flags & IRQF_DISABLED)
- enable_irq(host->irq);
-
/* perform each probe asynchronously */
for (i = 0; i < host->n_ports; i++) {
struct ata_port *ap = host->ports[i];
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits