pata_via: fix VT6410/6415/6330 detection issue
authorJosephChan@via.com.tw <JosephChan@via.com.tw>
Thu, 25 Mar 2010 12:51:47 +0000 (20:51 +0800)
committerJeff Garzik <jgarzik@redhat.com>
Sun, 28 Mar 2010 04:51:50 +0000 (00:51 -0400)
When using VT6410/6415/6330 chips on some VIA's platforms, the HDD
connection to VT6410/6415/6330 cannot be detected.

It is because the driver detects wrong via_isa_bridge ID, and then
causes this issue to happen.

Signed-off-by: Joseph Chan <josephchan@via.com.tw>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/pata_via.c

index 95d39c36acea2e39e6677bd996cb2c20e16e10db..c59b40710fbd2f42867328eb1261768ad80fa32b 100644 (file)
@@ -576,6 +576,10 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
                        u8 rev = isa->revision;
                        pci_dev_put(isa);
 
+                       if ((id->device == 0x0415 || id->device == 0x3164) &&
+                           (config->id != id->device))
+                               continue;
+
                        if (rev >= config->rev_min && rev <= config->rev_max)
                                break;
                }