When enabling IRQ, ap->ops->irq_on is checked.
Because most drivers can use ata_irq_on() as is, this
patch allows ap->ops->irq_on to be NULL.
If it is NULL, ata_irq_on() are used.

Signed-off-by: Kou Ishizaki <[EMAIL PROTECTED]>
Signed-off-by: Akira Iguchi <[EMAIL PROTECTED]>
---

--- linux-2.6.20-rc4/drivers/ata/libata-sff.c.orig      2007-01-17 
01:45:56.000000000 +0900
+++ linux-2.6.20-rc4/drivers/ata/libata-sff.c   2007-01-17 02:16:00.000000000 
+0900
@@ -724,8 +724,12 @@ void ata_bmdma_thaw(struct ata_port *ap)
        /* clear & re-enable interrupts */
        ata_chk_status(ap);
        ap->ops->irq_clear(ap);
-       if (ap->ioaddr.ctl_addr)        /* FIXME: hack. create a hook instead */
-               ata_irq_on(ap);
+       if (ap->ioaddr.ctl_addr) {      /* FIXME: hack. create a hook instead */
+               if (ap->ops->irq_on)
+                       ap->ops->irq_on(ap);
+               else
+                       ata_irq_on(ap);
+       }
 }
 
 /**

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

Reply via email to