mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
ASoC: atmel: mchp-pdmc: Use snd_ctl_remove_id()
Use the standard snd_ctl_remove_id() helper instead of open code for removing a kctl. This helps for avoiding possible races. Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230718141304.1032-4-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
6eca691475
commit
d8b366c406
@ -386,7 +386,6 @@ static int mchp_pdmc_open(struct snd_soc_component *component,
|
||||
for (i = 0; i < ARRAY_SIZE(mchp_pdmc_snd_controls); i++) {
|
||||
const struct snd_kcontrol_new *control = &mchp_pdmc_snd_controls[i];
|
||||
struct snd_ctl_elem_id id;
|
||||
struct snd_kcontrol *kctl;
|
||||
int err;
|
||||
|
||||
if (component->name_prefix)
|
||||
@ -400,17 +399,10 @@ static int mchp_pdmc_open(struct snd_soc_component *component,
|
||||
id.device = control->device;
|
||||
id.subdevice = control->subdevice;
|
||||
id.index = control->index;
|
||||
kctl = snd_ctl_find_id(component->card->snd_card, &id);
|
||||
if (!kctl) {
|
||||
dev_err(component->dev, "Failed to find %s\n", control->name);
|
||||
continue;
|
||||
}
|
||||
err = snd_ctl_remove(component->card->snd_card, kctl);
|
||||
if (err < 0) {
|
||||
err = snd_ctl_remove_id(component->card->snd_card, &id);
|
||||
if (err < 0)
|
||||
dev_err(component->dev, "%d: Failed to remove %s\n", err,
|
||||
control->name);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user