From 8f2e931c6ca3eea3e50084c5b260ac019e34d1e4 Mon Sep 17 00:00:00 2001 From: Old-Ding <35417409+Old-Ding@users.noreply.github.com> Date: Mon, 6 Jul 2026 05:24:07 +0800 Subject: [PATCH] drivers: dac: Fix disable callback check _dac_control() checked the enabled callback before invoking disabled for RT_DAC_CMD_DISABLE. That can reject DAC drivers that provide a disable callback without enable, and can call through a NULL disabled callback when only enable is implemented. Check the disabled callback in the disable command path so the guard matches the operation being dispatched. Generated-by: OpenAI Codex Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com> --- components/drivers/misc/dac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/drivers/misc/dac.c b/components/drivers/misc/dac.c index 78db9b1a559..8a1b0ccc728 100644 --- a/components/drivers/misc/dac.c +++ b/components/drivers/misc/dac.c @@ -46,7 +46,7 @@ static rt_err_t _dac_control(rt_device_t dev, int cmd, void *args) { result = dac->ops->enabled(dac, (rt_uint32_t)args); } - else if (cmd == RT_DAC_CMD_DISABLE && dac->ops->enabled) + else if (cmd == RT_DAC_CMD_DISABLE && dac->ops->disabled) { result = dac->ops->disabled(dac, (rt_uint32_t)args); }