Patch 1/10:
After checking, it seems calling irq_on() in ata_bus_reset() and
ata_std_postreset()
are leftover of the EDD reset. Remove them.
Signed-off-by: Albert Lee <[EMAIL PROTECTED]>
---
diff -Nrup 00_libata-dev/drivers/ata/libata-core.c
01_remove_leftover_irqon/drivers/ata/libata-core.c
--- 00_libata-dev/drivers/ata/libata-core.c 2007-07-04 11:26:30.000000000
+0800
+++ 01_remove_leftover_irqon/drivers/ata/libata-core.c 2007-07-04
11:43:30.000000000 +0800
@@ -3194,9 +3194,6 @@ void ata_bus_reset(struct ata_port *ap)
if ((slave_possible) && (err != 0x81))
ap->device[1].class = ata_dev_try_classify(ap, 1, &err);
- /* re-enable interrupts */
- ap->ops->irq_on(ap);
-
/* is double-select really necessary? */
if (ap->device[1].class != ATA_DEV_NONE)
ap->ops->dev_select(ap, 1);
@@ -3581,10 +3578,6 @@ void ata_std_postreset(struct ata_port *
if (sata_scr_read(ap, SCR_ERROR, &serror) == 0)
sata_scr_write(ap, SCR_ERROR, serror);
- /* re-enable interrupts */
- if (!ap->ops->error_handler)
- ap->ops->irq_on(ap);
-
/* is double-select really necessary? */
if (classes[0] != ATA_DEV_NONE)
ap->ops->dev_select(ap, 1);
diff -Nrup 00_libata-dev/drivers/ata/pata_scc.c
01_remove_leftover_irqon/drivers/ata/pata_scc.c
--- 00_libata-dev/drivers/ata/pata_scc.c 2007-07-04 11:26:30.000000000
+0800
+++ 01_remove_leftover_irqon/drivers/ata/pata_scc.c 2007-07-04
11:43:30.000000000 +0800
@@ -892,10 +892,6 @@ static void scc_std_postreset (struct at
{
DPRINTK("ENTER\n");
- /* re-enable interrupts */
- if (!ap->ops->error_handler)
- ap->ops->irq_on(ap);
-
/* is double-select really necessary? */
if (classes[0] != ATA_DEV_NONE)
ap->ops->dev_select(ap, 1);
-
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