Jeff Garzik wrote:
akpm@xxxxxxxxxxxxxxxxxxxx wrote:
From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
Some of the other quirks changes seem to have left some users with the
simplex
bits mis-set by the time the driver loads. Clear simplex mode before
we probe
the controller therefore.
Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
Cc: Jeff Garzik <jeff@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---
drivers/ata/pata_atiixp.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff -puN drivers/ata/pata_atiixp.c~pata_atiixp-simplex-clear
drivers/ata/pata_atiixp.c
--- a/drivers/ata/pata_atiixp.c~pata_atiixp-simplex-clear
+++ a/drivers/ata/pata_atiixp.c
@@ -22,7 +22,7 @@
#include <linux/libata.h>
#define DRV_NAME "pata_atiixp"
-#define DRV_VERSION "0.4.6"
+#define DRV_VERSION "0.4.7"
enum {
ATIIXP_IDE_PIO_TIMING = 0x40,
@@ -243,6 +243,9 @@ static int atiixp_init_one(struct pci_de
.port_ops = &atiixp_port_ops
};
const struct ata_port_info *ppi[] = { &info, NULL };
+ /* Some of the quirk reconfiguration messes up the simplex
+ flag, so clear it again */
+ ata_pci_clear_simplex(dev);
return ata_pci_init_one(dev, ppi, &atiixp_sht, NULL);
}
@@ -279,7 +282,7 @@ static void __exit atiixp_exit(void)
}
MODULE_AUTHOR("Alan Cox");
-MODULE_DESCRIPTION("low-level driver for ATI IXP200/300/400");
+MODULE_DESCRIPTION("low-level driver for ATI IXP series");
MODULE_LICENSE("GPL");
MODULE_DEVICE_TABLE(pci, atiixp);
Since I saw some automated akpm mail about this... this patch is
obsolete. Needs ata_pci_bmdma_clear_simplex() at least.
Also, Tejun, you had some thoughts on this?
That was about calling pci functions before enabling them.
In current #upstream, we still call ata_pci_bmdma_clear_simplex() before
pcim_enable_device() in some cases, so the problem remains...
Care to point where? It should be easy to fix. Just adding
pcim_enable_device() early in the init function should do.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html