[PATCH 3/4] libata-sff.c: add another IRQ calls
From: Akira Iguchi <hidden>
Date: 2007-01-16 10:46:22
Also in:
linux-ide
From: Akira Iguchi <hidden>
Date: 2007-01-16 10:46:22
Also in:
linux-ide
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 <redacted> Signed-off-by: Akira Iguchi <redacted> ---
--- 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); + } } /**