Move source tree closer to the 2.6.32.17 mainline
/drivers/ata/sata_via.c
blob:02efd9a83d26a06df084d5fffeaf1860d7aa859f -> blob:e35596b97853bd624c95c2d9ff8f399def6fb533
--- drivers/ata/sata_via.c
+++ drivers/ata/sata_via.c
@@ -558,6 +558,19 @@ static void svia_configure(struct pci_de
tmp8 |= NATIVE_MODE_ALL;
pci_write_config_byte(pdev, SATA_NATIVE_MODE, tmp8);
}
+
+ /*
+ * vt6421 has problems talking to some drives. The following
+ * is the magic fix from Joseph Chan <JosephChan@via.com.tw>.
+ * Please add proper documentation if possible.
+ *
+ * https://bugzilla.kernel.org/show_bug.cgi?id=15173
+ */
+ if (pdev->device == 0x3249) {
+ pci_read_config_byte(pdev, 0x52, &tmp8);
+ tmp8 |= 1 << 2;
+ pci_write_config_byte(pdev, 0x52, tmp8);
+ }
}
static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)