pcmcia: handle error in serial_cs config calls
authorDominik Brodowski <linux@dominikbrodowski.net>
Sun, 24 Jan 2010 17:20:22 +0000 (18:20 +0100)
committerDominik Brodowski <linux@dominikbrodowski.net>
Wed, 17 Feb 2010 17:00:18 +0000 (18:00 +0100)
Do not ignore the error returned by simple_config() / multi_config().

CC: linux-serial@vger.kernel.org
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
drivers/serial/serial_cs.c

index 0ee7239c5d694aa3c5b05f1c05e246d975e11c35..8d38eabda826d838de10610832c851d7a49af802 100644 (file)
@@ -695,11 +695,11 @@ static int serial_config(struct pcmcia_device * link)
                info->multi = info->quirk->multi;
 
        if (info->multi > 1)
-               multi_config(link);
+               i = multi_config(link);
        else
-               simple_config(link);
+               i = simple_config(link);
 
-       if (info->ndev == 0)
+       if (i || info->ndev == 0)
                goto failed;
 
        /*
@@ -714,6 +714,7 @@ static int serial_config(struct pcmcia_device * link)
        return 0;
 
 failed:
+       dev_warn(&link->dev, "serial_cs: failed to initialize\n");
        serial_remove(link);
        return -ENODEV;
 }