From bc18103a71dabc08fa26a287632e33f0c61b4a8e Mon Sep 17 00:00:00 2001 From: Syed Rafiuddin Date: Wed, 25 Apr 2012 15:43:26 +0530 Subject: power: smb349: fix NULL pointer issue. Configure i2c client structure in update charger structure only when the charger driver is in use. If charger driver is not used return -ENODEV Change-Id: Ib1bc99145ee75bea819f69157920f9096e5d40ba Signed-off-by: Syed Rafiuddin Reviewed-on: http://git-master/r/98712 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani --- drivers/power/smb349-charger.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/power/smb349-charger.c b/drivers/power/smb349-charger.c index 3013e576a463..22df2f923bde 100644 --- a/drivers/power/smb349-charger.c +++ b/drivers/power/smb349-charger.c @@ -274,9 +274,14 @@ error: int update_charger_status(void) { - struct i2c_client *client = charger->client; + struct i2c_client *client; int ret, val; + if (!charger) + return -ENODEV; + else + client = charger->client; + val = smb349_read(client, SMB349_STS_REG_D); if (val < 0) { dev_err(&client->dev, "%s(): Failed in reading register" @@ -371,14 +376,9 @@ static void smb349_otg_status(enum usb_otg_state to, enum usb_otg_state from, vo static int smb349_enable_charging(struct regulator_dev *rdev, int min_uA, int max_uA) { - struct i2c_client *client; + struct i2c_client *client = charger->client; int ret; - if(!charger) - return -ENODEV; - else - client = charger->client; - if (!max_uA) { charger->state = stopped; /* Disable charger */ -- cgit v1.2.3