sc16is7xx: Check for an error when the clock is enabled.
authorStefan Potyra <Stefan.Potyra@elektrobit.com>
Tue, 24 Apr 2018 16:03:47 +0000 (18:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Apr 2018 12:56:12 +0000 (14:56 +0200)
When the clock is enabled, check if there is an error. Otherwise
clk_get_rate() can be called without enabled clock.

Found by Linux Driver Verification project (linuxtesting.org).

Fixes: 0814e8d5da2b ("sc16is7xx: enable the clock")
Signed-off-by: Stefan Potyra <Stefan.Potyra@elektrobit.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c

index 65792a3..243c960 100644 (file)
@@ -1168,7 +1168,10 @@ static int sc16is7xx_probe(struct device *dev,
                else
                        return PTR_ERR(s->clk);
        } else {
-               clk_prepare_enable(s->clk);
+               ret = clk_prepare_enable(s->clk);
+               if (ret)
+                       return ret;
+
                freq = clk_get_rate(s->clk);
        }