summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosephChan@via.com.tw <JosephChan@via.com.tw>2010-03-25 20:51:47 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2010-04-01 16:02:15 -0700
commit77aba144b01d97cd877dbbca15b1ba5b11192e5f (patch)
tree3295c787b2c26d11909ccba1ba63a31eec85dfaa
parent8afdd016d273b1c2641e979fdaa28e96b6f9fb9c (diff)
pata_via: fix VT6410/6415/6330 detection issue
commit bc8a67386fd462914269fa93446e1891955a8bb3 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 0d97890af681..be7c39552980 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -588,6 +588,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;
}