summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Tso <kyletso@google.com>2023-12-06 11:00:15 +0800
committerCherrypicker Worker QA <android-build-cherrypicker-worker@system.gserviceaccount.com>2023-12-13 01:27:56 +0000
commit837d59e132197600594054fca6d63d50bd2907f6 (patch)
treef1107d4002bab663541b207e9f9f33128e6243e2
parent78973a81e52934e1ec83fbfc5237376b2f094f88 (diff)
downloadgs-837d59e132197600594054fca6d63d50bd2907f6.tar.gz
tcpci_max77759: Fix warning in ovp_operation
Sleep is possible in this context. Use the _cansleep version instead for gpio_get_value. WARNING: at drivers/gpio/gpiolib.c:2716 gpiod_get_raw_value+0x7c/0xc0 ... gpiod_get_raw_value+0x7c/0xc0 ovp_operation+0x1cc/0x2a4 [tcpci_max77759] max77759_toggle_disable_votable_callback+0x164/0x1e0 [tcpci_max77759] gvotable_cast_vote+0x278/0x348 [gvotable] usb_cdev_work+0x70/0x450 [usbc_cooling_dev] Bug: 305752484 Signed-off-by: Kyle Tso <kyletso@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:8dcb2c24daa8b3ec0ea6cc75f54e4269a3a6c40f) Merged-In: Ib8d85aa3d4d34a199bad4fad13dc202248838555 Change-Id: Ib8d85aa3d4d34a199bad4fad13dc202248838555
-rw-r--r--drivers/usb/typec/tcpm/google/tcpci_max77759.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/usb/typec/tcpm/google/tcpci_max77759.c b/drivers/usb/typec/tcpm/google/tcpci_max77759.c
index 7037d1deb..2374d2d53 100644
--- a/drivers/usb/typec/tcpm/google/tcpci_max77759.c
+++ b/drivers/usb/typec/tcpm/google/tcpci_max77759.c
@@ -1525,10 +1525,10 @@ static void ovp_operation(struct max77759_plat *chip, int operation)
do {
gpio_set_value_cansleep(chip->in_switch_gpio,
!chip->in_switch_gpio_active_high);
- gpio_val = gpio_get_value(chip->in_switch_gpio);
+ gpio_val = gpio_get_value_cansleep(chip->in_switch_gpio);
LOG(LOG_LVL_DEBUG, chip->log,
- "%s: OVP disable gpio_val:%d in_switch_gpio_active_high:%d retry:%d",
- __func__, gpio_val, chip->in_switch_gpio_active_high, retry++);
+ "%s: OVP disable gpio_val:%d in_switch_gpio_active_high:%d retry:%d",
+ __func__, gpio_val, chip->in_switch_gpio_active_high, retry++);
} while ((gpio_val != !chip->in_switch_gpio_active_high) && (retry < OVP_OP_RETRY));
}
@@ -1540,10 +1540,10 @@ static void ovp_operation(struct max77759_plat *chip, int operation)
do {
gpio_set_value_cansleep(chip->in_switch_gpio,
chip->in_switch_gpio_active_high);
- gpio_val = gpio_get_value(chip->in_switch_gpio);
+ gpio_val = gpio_get_value_cansleep(chip->in_switch_gpio);
LOG(LOG_LVL_DEBUG, chip->log,
- "%s: OVP enable gpio_val:%d in_switch_gpio_active_high:%d retry:%d",
- __func__, gpio_val, chip->in_switch_gpio_active_high, retry++);
+ "%s: OVP enable gpio_val:%d in_switch_gpio_active_high:%d retry:%d",
+ __func__, gpio_val, chip->in_switch_gpio_active_high, retry++);
} while ((gpio_val != chip->in_switch_gpio_active_high) && (retry < OVP_OP_RETRY));
}
mutex_unlock(&chip->ovp_lock);