Patch 4/9:
Minor patch to call irq_off() from bmdma_freeze() to avoid duplicated code.
Signed-off-by: Albert Lee <[EMAIL PROTECTED]>
---
diff -Nrup 03_add_irq_off_lldd/drivers/ata/libata-sff.c
04_convert_freeze/drivers/ata/libata-sff.c
--- 03_add_irq_off_lldd/drivers/ata/libata-sff.c 2007-06-12
13:15:13.000000000 +0800
+++ 04_convert_freeze/drivers/ata/libata-sff.c 2007-06-12 13:15:17.000000000
+0800
@@ -413,20 +413,7 @@ void ata_bmdma_stop(struct ata_queued_cm
*/
void ata_bmdma_freeze(struct ata_port *ap)
{
- struct ata_ioports *ioaddr = &ap->ioaddr;
-
- ap->ctl |= ATA_NIEN;
- ap->last_ctl = ap->ctl;
-
- iowrite8(ap->ctl, ioaddr->ctl_addr);
-
- /* Under certain circumstances, some controllers raise IRQ on
- * ATA_NIEN manipulation. Also, many controllers fail to mask
- * previously pending IRQ on ATA_NIEN assertion. Clear it.
- */
- ata_chk_status(ap);
-
- ap->ops->irq_clear(ap);
+ ap->ops->irq_off(ap);
}
/**
diff -Nrup 03_add_irq_off_lldd/drivers/ata/pata_scc.c
04_convert_freeze/drivers/ata/pata_scc.c
--- 03_add_irq_off_lldd/drivers/ata/pata_scc.c 2007-06-12 13:06:12.000000000
+0800
+++ 04_convert_freeze/drivers/ata/pata_scc.c 2007-06-12 14:58:03.000000000
+0800
@@ -875,20 +875,7 @@ static u8 scc_irq_ack (struct ata_port *
static void scc_bmdma_freeze (struct ata_port *ap)
{
- struct ata_ioports *ioaddr = &ap->ioaddr;
-
- ap->ctl |= ATA_NIEN;
- ap->last_ctl = ap->ctl;
-
- out_be32(ioaddr->ctl_addr, ap->ctl);
-
- /* Under certain circumstances, some controllers raise IRQ on
- * ATA_NIEN manipulation. Also, many controllers fail to mask
- * previously pending IRQ on ATA_NIEN assertion. Clear it.
- */
- ata_chk_status(ap);
-
- ap->ops->irq_clear(ap);
+ scc_irq_off(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