diff options
author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-08-24 06:14:32 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-08-24 06:14:32 -0700 |
commit | d7e5337d56cdcb44a47dc7cdfd4e1861d2e3ba09 (patch) | |
tree | 5ab3645cf418f998fec2a43e4b4383893c79c3a8 | |
parent | d4a8f9c9cafbcfcb305cb7fce83d708d644750a5 (diff) | |
parent | 59361de692f4b1394529b1dc3873352a58fc6094 (diff) |
Merge "msm: camera: Fix null pointer exception in regulator disable"
-rw-r--r-- | drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c b/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c index 90edadaed1ef..f6d7f5fb8d32 100644 --- a/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c +++ b/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2014, The Linux Foundataion. All rights reserved. +/* Copyright (c) 2011-2014, 2017, The Linux Foundataion. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -556,12 +556,16 @@ int msm_camera_enable_vreg(struct device *dev, struct camera_vreg_t *cam_vreg, continue; } else j = i; - regulator_disable(reg_ptr[j]); - if (cam_vreg[j].delay > 20) - msleep(cam_vreg[j].delay); - else if (cam_vreg[j].delay) - usleep_range(cam_vreg[j].delay * 1000, - (cam_vreg[j].delay * 1000) + 1000); + if (reg_ptr[j]) { + regulator_disable(reg_ptr[j]); + if (cam_vreg[j].delay > 20) + msleep(cam_vreg[j].delay); + else if (cam_vreg[j].delay) + usleep_range( + cam_vreg[j].delay * 1000, + (cam_vreg[j].delay * 1000) + + 1000); + } } } return rc; |