diff options
author | Stefan Potyra | 2018-04-24 18:03:47 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2018-04-25 14:56:12 +0200 |
commit | e76785d092ab8356d24996754f0ff1917021fcb6 (patch) | |
tree | 185bd4d2e19b1ea151c9786d5b9edac8ef277a11 /drivers/tty | |
parent | 2468b3e4aa7b2a45443c43fced850965ee8118bd (diff) |
sc16is7xx: Check for an error when the clock is enabled.
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>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/sc16is7xx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 65792a3539d0..243c96025053 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -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); } |