From 2bf091f8af5b62416e134bf8eb81e48c9607571f Mon Sep 17 00:00:00 2001 From: Nick Ward Date: Sun, 16 Jul 2023 22:12:34 +1000 Subject: [PATCH] drivers: usb-c: fix - check if adc_channel is ready before use This will protect a user of this driver against driver initialisation order misconfiguration. Signed-off-by: Nick Ward --- drivers/usb_c/vbus/usbc_vbus_adc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/usb_c/vbus/usbc_vbus_adc.c b/drivers/usb_c/vbus/usbc_vbus_adc.c index 557dafdff62..6ed645795d2 100644 --- a/drivers/usb_c/vbus/usbc_vbus_adc.c +++ b/drivers/usb_c/vbus/usbc_vbus_adc.c @@ -139,6 +139,11 @@ static int adc_vbus_init(const struct device *dev) const struct gpio_dt_spec *gcd = &config->discharge_gpios; int ret; + if (!adc_is_ready_dt(&config->adc_channel)) { + LOG_ERR("ADC controller device is not ready"); + return -ENODEV; + } + /* Configure VBUS Measurement enable pin if defined */ if (gcp->port) { ret = device_is_ready(gcp->port);