mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
pci syscall.c: Switch to refcounting API
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
a23adb5b2d
commit
e4585da22a
@ -23,14 +23,14 @@ sys_pciconfig_read(unsigned long bus, unsigned long dfn,
|
||||
u8 byte;
|
||||
u16 word;
|
||||
u32 dword;
|
||||
long err, cfg_ret;
|
||||
long err;
|
||||
long cfg_ret;
|
||||
|
||||
err = -EPERM;
|
||||
if (!capable(CAP_SYS_ADMIN))
|
||||
goto error;
|
||||
return -EPERM;
|
||||
|
||||
err = -ENODEV;
|
||||
dev = pci_find_slot(bus, dfn);
|
||||
dev = pci_get_bus_and_slot(bus, dfn);
|
||||
if (!dev)
|
||||
goto error;
|
||||
|
||||
@ -66,7 +66,8 @@ sys_pciconfig_read(unsigned long bus, unsigned long dfn,
|
||||
case 4:
|
||||
err = put_user(dword, (unsigned int __user *)buf);
|
||||
break;
|
||||
};
|
||||
}
|
||||
pci_dev_put(dev);
|
||||
return err;
|
||||
|
||||
error:
|
||||
@ -83,7 +84,8 @@ error:
|
||||
case 4:
|
||||
put_user(-1, (unsigned int __user *)buf);
|
||||
break;
|
||||
};
|
||||
}
|
||||
pci_dev_put(dev);
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -101,7 +103,7 @@ sys_pciconfig_write(unsigned long bus, unsigned long dfn,
|
||||
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;
|
||||
|
||||
@ -137,8 +139,8 @@ sys_pciconfig_write(unsigned long bus, unsigned long dfn,
|
||||
default:
|
||||
err = -EINVAL;
|
||||
break;
|
||||
};
|
||||
}
|
||||
unlock_kernel();
|
||||
|
||||
pci_dev_put(dev);
|
||||
return err;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user