summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Schnelle <schnelle@linux.ibm.com>2026-01-08 18:45:54 +0300
committerHeiko Carstens <hca@linux.ibm.com>2026-01-17 17:55:22 +0300
commit88303fb68cc2e8b975f1505c84f215a934f6c2ad (patch)
tree6417db78529ee1774567334993f57255f07881ca
parent84d875e69818bed600edccb09be4a64b84a34a54 (diff)
downloadlinux-88303fb68cc2e8b975f1505c84f215a934f6c2ad.tar.xz
s390/pci: Use PCIBIOS return values in pci_read()/pci_write()
While pci_read() and pci_write() have returned errno values since their inception with commit cd24834130ac ("s390/pci: base support") other config accessors in particular pci_generic_config_read() as well as pci_generic_config_write() return specific error values which are then converted to errno by pcibios_err_to_errno(). Since latter does handle the case where the error value already looks like an errno the previous behavior is unlikely to cause actual issues. Still, for consistency and in case any caller explicitly checks error values align pci_read() and pci_write() with the generic accessors. Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> Reviewed-by: Farhan Ali <alifm@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-rw-r--r--arch/s390/pci/pci.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index 7f44b0644a20..0d952e8fdc8a 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -406,7 +406,9 @@ static int pci_read(struct pci_bus *bus, unsigned int devfn, int where,
{
struct zpci_dev *zdev = zdev_from_bus(bus, devfn);
- return (zdev) ? zpci_cfg_load(zdev, where, val, size) : -ENODEV;
+ if (!zdev || zpci_cfg_load(zdev, where, val, size))
+ return PCIBIOS_DEVICE_NOT_FOUND;
+ return PCIBIOS_SUCCESSFUL;
}
static int pci_write(struct pci_bus *bus, unsigned int devfn, int where,
@@ -414,7 +416,9 @@ static int pci_write(struct pci_bus *bus, unsigned int devfn, int where,
{
struct zpci_dev *zdev = zdev_from_bus(bus, devfn);
- return (zdev) ? zpci_cfg_store(zdev, where, val, size) : -ENODEV;
+ if (!zdev || zpci_cfg_store(zdev, where, val, size))
+ return PCIBIOS_DEVICE_NOT_FOUND;
+ return PCIBIOS_SUCCESSFUL;
}
static struct pci_ops pci_root_ops = {