--- /dev/null
+From d6250a03fa736c1bff4df4601f5af2dc21f2bf9e Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan@linux.intel.com>
+Date: Mon, 30 Nov 2009 13:23:05 +0000
+Subject: pata_ali: Fix regression with old devices
+
+From: Alan Cox <alan@linux.intel.com>
+
+commit d6250a03fa736c1bff4df4601f5af2dc21f2bf9e upstream.
+
+Making the new stuff work broke some of the old chipsets. We need to go
+back to the old set up values for these it seems. Unfortunately even with
+documentation this is basically a mix of cargoculting and guesswork.
+
+Chased down to the exact line by Gianluca.
+
+Signed-off-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Cc: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/ata/pata_ali.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/ata/pata_ali.c
++++ b/drivers/ata/pata_ali.c
+@@ -453,7 +453,9 @@ static void ali_init_chipset(struct pci_
+ /* Clear CD-ROM DMA write bit */
+ tmp &= 0x7F;
+ /* Cable and UDMA */
+- pci_write_config_byte(pdev, 0x4B, tmp | 0x09);
++ if (pdev->revision >= 0xc2)
++ tmp |= 0x01;
++ pci_write_config_byte(pdev, 0x4B, tmp | 0x08);
+ /*
+ * CD_ROM DMA on (0x53 bit 0). Enable this even if we want
+ * to use PIO. 0x53 bit 1 (rev 20 only) - enable FIFO control