Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4585da2 authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman
Browse files

pci syscall.c: Switch to refcounting API



Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a23adb5b
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -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 @@ sys_pciconfig_read(unsigned long bus, unsigned long dfn,
	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;
}