From 4349cb3e0e059772f8b9b5c6202b53247a65b29f Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 16 May 2007 00:51:46 +0200 Subject: [PATCH] --- yaml --- r: 56445 b: refs/heads/master c: 640b31bf1291d1fb8a3e90abed8f145410122bf8 h: refs/heads/master i: 56443: 517e60f81eaada2153b0fdfaf28fe0f95ca0c637 v: v3 --- [refs] | 2 +- trunk/drivers/ide/pci/sl82c105.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 314b65e27a38..350f713763ff 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 122ab0887c36247bd4508c25e4fccf9264546fe2 +refs/heads/master: 640b31bf1291d1fb8a3e90abed8f145410122bf8 diff --git a/trunk/drivers/ide/pci/sl82c105.c b/trunk/drivers/ide/pci/sl82c105.c index ac1ec170fd26..7c383d9cc472 100644 --- a/trunk/drivers/ide/pci/sl82c105.c +++ b/trunk/drivers/ide/pci/sl82c105.c @@ -349,7 +349,7 @@ static unsigned int sl82c105_bridge_revision(struct pci_dev *dev) /* * The bridge should be part of the same device, but function 0. */ - bridge = pci_find_slot(dev->bus->number, + bridge = pci_get_bus_and_slot(dev->bus->number, PCI_DEVFN(PCI_SLOT(dev->devfn), 0)); if (!bridge) return -1; @@ -359,13 +359,15 @@ static unsigned int sl82c105_bridge_revision(struct pci_dev *dev) */ if (bridge->vendor != PCI_VENDOR_ID_WINBOND || bridge->device != PCI_DEVICE_ID_WINBOND_83C553 || - bridge->class >> 8 != PCI_CLASS_BRIDGE_ISA) + bridge->class >> 8 != PCI_CLASS_BRIDGE_ISA) { + pci_dev_put(bridge); return -1; - + } /* * We need to find function 0's revision, not function 1 */ pci_read_config_byte(bridge, PCI_REVISION_ID, &rev); + pci_dev_put(bridge); return rev; }