path: root/drivers/net/can/peak_canfd/peak_pciefd_main.c
diff options
authorStephane Grosjean <>2017-11-23 15:44:35 +0100
committerMarc Kleine-Budde <>2017-12-01 11:20:52 +0100
commit5c2cb02edf79ad79d9b8d07c6d52243a948c4c9f (patch)
tree9bf6eba1d991a9e003e7dc9c9bc9faa97850c8e0 /drivers/net/can/peak_canfd/peak_pciefd_main.c
parentf6c23b174c3c96616514827407769cbcfc8005cf (diff)
can: peak/pci: fix potential bug when probe() fails
PCI/PCIe drivers for PEAK-System CAN/CAN-FD interfaces do some access to the PCI config during probing. In case one of these accesses fails, a POSITIVE PCIBIOS_xxx error code is returned back. This POSITIVE error code MUST be converted into a NEGATIVE errno for the probe() function to indicate it failed. Using the pcibios_err_to_errno() function, we make sure that the return code will always be negative. Signed-off-by: Stephane Grosjean <> Cc: linux-stable <> Signed-off-by: Marc Kleine-Budde <>
Diffstat (limited to 'drivers/net/can/peak_canfd/peak_pciefd_main.c')
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/can/peak_canfd/peak_pciefd_main.c b/drivers/net/can/peak_canfd/peak_pciefd_main.c
index b4efd711f824..788c3464a3b0 100644
--- a/drivers/net/can/peak_canfd/peak_pciefd_main.c
+++ b/drivers/net/can/peak_canfd/peak_pciefd_main.c
@@ -825,7 +825,10 @@ err_release_regions:
- return err;
+ /* pci_xxx_config_word() return positive PCIBIOS_xxx error codes while
+ * the probe() function must return a negative errno in case of failure
+ * (err is unchanged if negative) */
+ return pcibios_err_to_errno(err);
/* free the board structure object, as well as its resources: */