summaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorJosephChan@via.com.tw <JosephChan@via.com.tw>2010-03-25 20:51:47 +0800
committerJeff Garzik <jgarzik@redhat.com>2010-03-28 00:51:50 -0400
commitbc8a67386fd462914269fa93446e1891955a8bb3 (patch)
tree45d7906574e40464125235c1e78f02607c7f4855 /drivers/ata
parentb72c40949b0f04728f2993a1434598d3bad094ea (diff)
downloadlinux-bc8a67386fd462914269fa93446e1891955a8bb3.tar.bz2
pata_via: fix VT6410/6415/6330 detection issue
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>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/pata_via.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index 95d39c36acea..c59b40710fbd 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -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;
}