]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
parport: Don't shadow error codes in ->probe()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 7 Feb 2018 19:47:54 +0000 (19:47 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Mar 2018 16:54:09 +0000 (17:54 +0100)
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>
drivers/parport/parport_serial.c

index 050eeb06913acf3a779d8d41a9974386c0108c29..c222698410c25071ec6c21b0939430454f9aa199 100644 (file)
@@ -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;