max1720x_battery: move mutex_lock before pm_runtime_get_sync
To prevent the possible deadlock with max1720x_model_work
Bug: 180734081
Signed-off-by: Jenny Ho <[email protected]>
Change-Id: I11db5799a7a6ad7d3abd9c3608c88e42062e6c82
diff --git a/max1720x_battery.c b/max1720x_battery.c
index 11f69c3..b1f1da2 100644
--- a/max1720x_battery.c
+++ b/max1720x_battery.c
@@ -1730,15 +1730,16 @@
u16 data = 0;
int idata;
+ mutex_lock(&chip->model_lock);
+
pm_runtime_get_sync(chip->dev);
if (!chip->init_complete || !chip->resume_complete) {
pm_runtime_put_sync(chip->dev);
+ mutex_unlock(&chip->model_lock);
return -EAGAIN;
}
pm_runtime_put_sync(chip->dev);
- mutex_lock(&chip->model_lock);
-
switch (psp) {
case POWER_SUPPLY_PROP_STATUS:
err = max1720x_get_battery_status(chip);