mirror of https://gitee.com/openkylin/linux.git
PCI: Align checking of syscall user config accessors
After34e3207205
("PCI: handle positive error codes"), pci_user_read_config_*() and pci_user_write_config_*() return 0 or negative errno values, not PCIBIOS_* values like PCIBIOS_SUCCESSFUL or PCIBIOS_BAD_REGISTER_NUMBER. Remove comparisons with PCIBIOS_SUCCESSFUL and check only for non-zero. It happens that PCIBIOS_SUCCESSFUL is zero, so this is not a functional change, but it aligns this code with the user accessors. [bhelgaas: commit log] Fixes:34e3207205
("PCI: handle positive error codes") Link: https://lore.kernel.org/r/f1220314-e518-1e18-bf94-8e6f8c703758@gmail.com Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
7c53f6b671
commit
ef9e4005cb
|
@ -20,7 +20,7 @@ SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
|
||||||
u16 word;
|
u16 word;
|
||||||
u32 dword;
|
u32 dword;
|
||||||
long err;
|
long err;
|
||||||
long cfg_ret;
|
int cfg_ret;
|
||||||
|
|
||||||
if (!capable(CAP_SYS_ADMIN))
|
if (!capable(CAP_SYS_ADMIN))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
@ -46,7 +46,7 @@ SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
|
||||||
}
|
}
|
||||||
|
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
if (cfg_ret != PCIBIOS_SUCCESSFUL)
|
if (cfg_ret)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
switch (len) {
|
switch (len) {
|
||||||
|
@ -105,7 +105,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
err = pci_user_write_config_byte(dev, off, byte);
|
err = pci_user_write_config_byte(dev, off, byte);
|
||||||
if (err != PCIBIOS_SUCCESSFUL)
|
if (err)
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
err = pci_user_write_config_word(dev, off, word);
|
err = pci_user_write_config_word(dev, off, word);
|
||||||
if (err != PCIBIOS_SUCCESSFUL)
|
if (err)
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
err = pci_user_write_config_dword(dev, off, dword);
|
err = pci_user_write_config_dword(dev, off, dword);
|
||||||
if (err != PCIBIOS_SUCCESSFUL)
|
if (err)
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue