serial: sh-sci: Make probe fail for ports that exceed the maximum count
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 12 Jun 2012 22:28:24 +0000 (00:28 +0200)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 13 Jun 2012 01:22:10 +0000 (10:22 +0900)
The driver supports a maximum number of ports configurable at compile
time. Make sure the probe() method fails when registering a port that
exceeds the maximum instead of returning success without registering the
port.

This fixes a crash at system suspend time, when the driver tried to
suspend a non-registered port using the UART core.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/tty/serial/sh-sci.c

index 27df2ad..1bd9163 100644 (file)
@@ -2391,7 +2391,7 @@ static int __devinit sci_probe_single(struct platform_device *dev,
                           index+1, SCI_NPORTS);
                dev_notice(&dev->dev, "Consider bumping "
                           "CONFIG_SERIAL_SH_SCI_NR_UARTS!\n");
-               return 0;
+               return -EINVAL;
        }
 
        ret = sci_init_single(dev, sciport, index, p);