diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2018-02-07 22:47:54 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-14 19:54:09 +0300 |
commit | 96edf5376e9250eb61d2bbc5432c13846878edb2 (patch) | |
tree | 292b41ffdfc35cfbda526ad9baf40eb34ced99c9 /drivers/parport/parport_serial.c | |
parent | ad8ce834bfec77c8ae2fbb3a0593ae87bdecebcb (diff) | |
download | linux-96edf5376e9250eb61d2bbc5432c13846878edb2.tar.xz |
parport: Don't shadow error codes in ->probe()
When ->probe() calls helper functions return theirs error codes
instead of shadowing them.
Tested-by: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/parport/parport_serial.c')
-rw-r--r-- | drivers/parport/parport_serial.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c index 050eeb06913a..c222698410c2 100644 --- a/drivers/parport/parport_serial.c +++ b/drivers/parport/parport_serial.c @@ -539,12 +539,10 @@ static int serial_register(struct pci_dev *dev, const struct pci_device_id *id) struct serial_private *serial; board = &pci_parport_serial_boards[id->driver_data]; - if (board->num_ports == 0) return 0; serial = pciserial_init_ports(dev, board); - if (IS_ERR(serial)) return PTR_ERR(serial); @@ -630,14 +628,16 @@ static int parport_serial_pci_probe(struct pci_dev *dev, if (err) return err; - if (parport_register(dev, id)) - return -ENODEV; + err = parport_register(dev, id); + if (err) + return err; - if (serial_register (dev, id)) { + err = serial_register(dev, id); + if (err) { int i; for (i = 0; i < priv->num_par; i++) parport_pc_unregister_port (priv->port[i]); - return -ENODEV; + return err; } return 0; |