@@ -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;
}
/**
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 <tiwai@suse.de> --- src/control/control.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)