summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Troast <ntroast@codeaurora.org>2017-01-20 13:52:10 -0800
committerNicholas Troast <ntroast@codeaurora.org>2017-01-20 13:52:10 -0800
commitba0441736d3fb21e89e681b69942198c1edddc28 (patch)
tree0b8dfbbd4ccba9c945e13faeca92e097e284e238
parent74e7bd58a41c72e94474eed114eb58ae6362e735 (diff)
smb-lib: fix Type-C detection after sink removal
A misplaced return statement causes an early return from disabling OTG. If OTG is enabled when a source is attached then Type-C detection will fail. Therefore, OTG should never be blocked from being disabled. Remove all of the early returns that could potentially block the register write which disables OTG. Change-Id: I4645210233c7490cf3e1b8f6a629fec60399b250 Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
-rw-r--r--drivers/power/supply/qcom/smb-lib.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c
index d3f7e43ea10e..62d8ae0c5f36 100644
--- a/drivers/power/supply/qcom/smb-lib.c
+++ b/drivers/power/supply/qcom/smb-lib.c
@@ -1216,11 +1216,9 @@ static int _smblib_vbus_regulator_disable(struct regulator_dev *rdev)
if (!chg->external_vconn) {
rc = smblib_read(chg, RID_CC_CONTROL_7_0_REG, &stat);
- if (rc < 0) {
+ if (rc < 0)
smblib_err(chg, "Couldn't read RID_CC_CONTROL_7_0 rc=%d\n",
rc);
- return rc;
- }
/* check if VCONN is enabled on either CC pin */
if (stat & VCONN_EN_CC_MASK) {
@@ -1229,7 +1227,6 @@ static int _smblib_vbus_regulator_disable(struct regulator_dev *rdev)
if (rc < 0)
smblib_err(chg, "Couldn't disable VCONN rc=%d\n",
rc);
- return rc;
}
}