pdc202xx_new: fix Promise TX4 support
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 12 Dec 2007 22:31:58 +0000 (23:31 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 12 Dec 2007 22:31:58 +0000 (23:31 +0100)
In case of Promise TX4 the first PCI device is located at slot 1
and the second one is at slot 2 so the offset used by pci_get_slot()
should be "+1" and not "+2".

Thanks goes out to Markus Dietz for bugreport and testing this patch.

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/pci/pdc202xx_new.c

index 4234efeba606750d9b4d7e4cc5ad95aaea57faba..2b4f44e45a1a370936300b4c7900f0dbf49f0148 100644 (file)
@@ -482,8 +482,9 @@ static struct pci_dev * __devinit pdc20270_get_dev2(struct pci_dev *dev)
 {
        struct pci_dev *dev2;
 
-       dev2 = pci_get_slot(dev->bus, PCI_DEVFN(PCI_SLOT(dev->devfn) + 2,
+       dev2 = pci_get_slot(dev->bus, PCI_DEVFN(PCI_SLOT(dev->devfn) + 1,
                                                PCI_FUNC(dev->devfn)));
+
        if (dev2 &&
            dev2->vendor == dev->vendor &&
            dev2->device == dev->device) {