OSDN Git Service

tty: 8250/serial_cs, propagate errors in simple_config
authorJiri Slaby <jslaby@suse.cz>
Tue, 2 Mar 2021 06:21:43 +0000 (07:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Mar 2021 08:34:07 +0000 (09:34 +0100)
The caller expects from the others (pfc_config and multi_config) to
return standard error values. So do the same for simple_config too.

We invert the if condition to handle the error case.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210302062214.29627-13-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/serial_cs.c

index 35ff662..63ea9c4 100644 (file)
@@ -456,11 +456,11 @@ static int simple_config(struct pcmcia_device *link)
         * its base address, then try to grab any standard serial port
         * address, and finally try to get any free port.
         */
-       if (!pcmcia_loop_config(link, simple_config_check_notpicky, NULL))
-               goto found_port;
-
-       dev_warn(&link->dev, "no usable port range found, giving up\n");
-       return -1;
+       ret = pcmcia_loop_config(link, simple_config_check_notpicky, NULL);
+       if (ret) {
+               dev_warn(&link->dev, "no usable port range found, giving up\n");
+               return ret;
+       }
 
 found_port:
        if (info->multi && (info->manfid == MANFID_3COM))
@@ -474,7 +474,7 @@ found_port:
 
        ret = pcmcia_enable_device(link);
        if (ret != 0)
-               return -1;
+               return ret;
        return setup_serial(link, info, link->resource[0]->start, link->irq);
 }