summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyed Rafiuddin <srafiuddin@nvidia.com>2012-04-25 15:43:26 +0530
committerSimone Willett <swillett@nvidia.com>2012-05-01 14:08:17 -0700
commitbc18103a71dabc08fa26a287632e33f0c61b4a8e (patch)
tree95bdfd2e1ace628abc84874190aa288cb66129c1
parent450337a3707bd4964b0bd39e2d0118ed6f56756a (diff)
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 <srafiuddin@nvidia.com> Reviewed-on: http://git-master/r/98712 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--drivers/power/smb349-charger.c14
1 files 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 */