* [PATCH] serial: sc16is7xx: Correct initialization of s->clk
@ 2014-07-25 17:53 jon
0 siblings, 0 replies; only message in thread
From: jon @ 2014-07-25 17:53 UTC (permalink / raw)
To: gregkh, linux-serial, dan.carpenter; +Cc: Jon Ringle
From: Jon Ringle <jringle@gridpoint.com>
The s->clk never gets setup in sc16is7xx_probe() and instead was using a
local clk variable, but then testing the uninitialized s->clk during
teardown
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
drivers/tty/serial/sc16is7xx.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
index ed139f5..a0a2295 100644
--- a/drivers/tty/serial/sc16is7xx.c
+++ b/drivers/tty/serial/sc16is7xx.c
@@ -1061,7 +1061,6 @@ static int sc16is7xx_probe(struct device *dev,
struct regmap *regmap, int irq, unsigned long flags)
{
unsigned long freq, *pfreq = dev_get_platdata(dev);
- struct clk *clk;
int i, ret;
struct sc16is7xx_port *s;
@@ -1077,14 +1076,14 @@ static int sc16is7xx_probe(struct device *dev,
return -ENOMEM;
}
- clk = devm_clk_get(dev, NULL);
- if (IS_ERR(clk)) {
+ s->clk = devm_clk_get(dev, NULL);
+ if (IS_ERR(s->clk)) {
if (pfreq)
freq = *pfreq;
else
- return PTR_ERR(clk);
+ return PTR_ERR(s->clk);
} else {
- freq = clk_get_rate(clk);
+ freq = clk_get_rate(s->clk);
}
s->regmap = regmap;
--
1.8.5.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2014-07-25 17:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-25 17:53 [PATCH] serial: sc16is7xx: Correct initialization of s->clk jon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).