Commit b1e85063 authored by Ondrej Zary's avatar Ondrej Zary Committed by Martin K. Petersen

atp870u: Improve unsupported chip detection

Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
Reviewed-by: default avatarHannes Reinicke <hare@suse.de>
Acked-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent bdd5ac40
...@@ -1252,6 +1252,11 @@ static int atp870u_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -1252,6 +1252,11 @@ static int atp870u_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
unsigned char setupdata[2][16]; unsigned char setupdata[2][16];
int err; int err;
if (ent->device == PCI_DEVICE_ID_ARTOP_AEC7610 && pdev->revision < 2) {
dev_err(&pdev->dev, "ATP850S chips (AEC6710L/F cards) are not supported.\n");
return -ENODEV;
}
err = pci_enable_device(pdev); err = pci_enable_device(pdev);
if (err) if (err)
goto fail; goto fail;
...@@ -1273,19 +1278,10 @@ static int atp870u_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -1273,19 +1278,10 @@ static int atp870u_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
atpdev->pdev = pdev; atpdev->pdev = pdev;
pci_set_drvdata(pdev, atpdev); pci_set_drvdata(pdev, atpdev);
/*
* It's probably easier to weed out some revisions like
* this than via the PCI device table
*/
if (ent->device == PCI_DEVICE_ID_ARTOP_AEC7610) {
atpdev->chip_ver = pdev->revision;
if (atpdev->chip_ver < 2) {
err = -ENODEV;
goto unregister;
}
}
switch (ent->device) { switch (ent->device) {
case PCI_DEVICE_ID_ARTOP_AEC7610:
atpdev->chip_ver = pdev->revision;
break;
case PCI_DEVICE_ID_ARTOP_AEC7612UW: case PCI_DEVICE_ID_ARTOP_AEC7612UW:
case PCI_DEVICE_ID_ARTOP_AEC7612SUW: case PCI_DEVICE_ID_ARTOP_AEC7612SUW:
case ATP880_DEVID1: case ATP880_DEVID1:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment