From fa673b719cca2332a6936211f0ab5e72233c4f52 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Thu, 15 Aug 2024 16:25:11 +0200 Subject: [PATCH] control: Make ump_{endpoint|block}_info calls optional Add the NULL check for ump_endpoint_info and ump_block_info calls. Those can be NULl depending on the target. Fixes: 81b0cf46d16a ("control: Add UMP Endpoint and Block info query support") Signed-off-by: Takashi Iwai --- src/control/control.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/control/control.c b/src/control/control.c index d77ab24cc..e443d5436 100644 --- a/src/control/control.c +++ b/src/control/control.c @@ -1293,7 +1293,10 @@ int snd_ctl_ump_next_device(snd_ctl_t *ctl, int *device) int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info) { assert(ctl && info); - return ctl->ops->ump_endpoint_info(ctl, info); + fprintf(stderr, "%s:%d\n", __func__, __LINE__); + if (ctl->ops->ump_endpoint_info) + return ctl->ops->ump_endpoint_info(ctl, info); + return -ENXIO; } /** @@ -1305,7 +1308,9 @@ int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info) int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info) { assert(ctl && info); - return ctl->ops->ump_block_info(ctl, info); + if (ctl->ops->ump_block_info) + return ctl->ops->ump_block_info(ctl, info); + return -ENXIO; } /**