From alan@lxorguk.ukuu.org.uk Mon Apr 23 06:54:02 2007 From: Alan Cox Date: Mon, 23 Apr 2007 14:57:37 +0100 Subject: pci syscall.c: Switch to refcounting API To: akpm@osdl.org, greg@kroah.com, linux-kernel@vger.kernel.org Message-ID: <20070423145737.2d0a8ce5@the-village.bc.nu> Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- drivers/pci/syscall.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --- a/drivers/pci/syscall.c +++ b/drivers/pci/syscall.c @@ -30,7 +30,7 @@ sys_pciconfig_read(unsigned long bus, un goto error; err = -ENODEV; - dev = pci_find_slot(bus, dfn); + dev = pci_get_bus_and_slot(bus, dfn); if (!dev) goto error; @@ -67,6 +67,7 @@ sys_pciconfig_read(unsigned long bus, un err = put_user(dword, (unsigned int __user *)buf); break; }; + pci_dev_put(dev); return err; error: @@ -84,6 +85,7 @@ error: put_user(-1, (unsigned int __user *)buf); break; }; + pci_dev_put(dev); return err; } @@ -101,7 +103,7 @@ sys_pciconfig_write(unsigned long bus, u if (!capable(CAP_SYS_ADMIN)) return -EPERM; - dev = pci_find_slot(bus, dfn); + dev = pci_get_bus_and_slot(bus, dfn); if (!dev) return -ENODEV; @@ -139,6 +141,6 @@ sys_pciconfig_write(unsigned long bus, u break; }; unlock_kernel(); - + pci_dev_put(dev); return err; }