diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-05-16 12:54:29 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-05-16 19:15:59 +0200 |
commit | 0d188aca536284f3c9650d8857c43c0dd5a81c2c (patch) | |
tree | 81f80da7fd4c38420fba98799dc7684e0fc451f8 /drivers/mfd/mc13xxx.c | |
parent | 16678a3a433a6bcf30e8a7f275a4a9491a7d4e79 (diff) | |
download | barebox-0d188aca536284f3c9650d8857c43c0dd5a81c2c.tar.gz barebox-0d188aca536284f3c9650d8857c43c0dd5a81c2c.tar.xz |
mfd mc13xxxx: Set mc_dev to NULL on failure
The mc13xxx driver correctly bails out on failure, but leaves
mc_dev initialized, so a later mc13xxx_get won't fail but returns
an invalid pointer. Fix this. While at it, remove some superfluous
code from mc13xxx_get.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mfd/mc13xxx.c')
-rw-r--r-- | drivers/mfd/mc13xxx.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/mfd/mc13xxx.c b/drivers/mfd/mc13xxx.c index ad7cb7eceb..f9477a3540 100644 --- a/drivers/mfd/mc13xxx.c +++ b/drivers/mfd/mc13xxx.c @@ -38,9 +38,6 @@ static struct mc13xxx *mc_dev; struct mc13xxx *mc13xxx_get(void) { - if (!mc_dev) - return NULL; - return mc_dev; } EXPORT_SYMBOL(mc13xxx_get); @@ -308,6 +305,7 @@ static int mc_probe(struct device_d *dev, enum mc13xxx_mode mode) rev = mc13xxx_query_revision(mc_dev); if (rev < 0) { free(mc_dev); + mc_dev = NULL; return -EINVAL; } |