diff options
author | Takashi Iwai <tiwai@suse.de> | 2024-04-24 17:09:30 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2024-04-24 17:09:30 +0200 |
commit | 375b5689cf7210b75c2dc8e26f180ceea42ed9bc (patch) | |
tree | d3948d669d7677d282f9a1204d31da0b5b07398e | |
parent | f0776e29ea4eba434b358a5c465e98268f3d0a3a (diff) | |
parent | 541b8a266e0ebf7b4f91f753783a2d2b972169ea (diff) | |
download | sound-375b5689cf7210b75c2dc8e26f180ceea42ed9bc.tar.gz |
Merge branch 'for-next'
-rw-r--r-- | sound/core/control_led.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/sound/core/control_led.c b/sound/core/control_led.c index 3d37e9fa7b9c20..ac19d14bd57456 100644 --- a/sound/core/control_led.c +++ b/sound/core/control_led.c @@ -285,25 +285,22 @@ static void snd_ctl_led_ctl_destroy(struct snd_ctl_led_ctl *lctl) static void snd_ctl_led_clean(struct snd_card *card) { unsigned int group; + struct snd_ctl_led_ctl *lctl, *_lctl; struct snd_ctl_led *led; - struct snd_ctl_led_ctl *lctl; for (group = 0; group < MAX_LED; group++) { led = &snd_ctl_leds[group]; -repeat: - list_for_each_entry(lctl, &led->controls, list) - if (!card || lctl->card == card) { + list_for_each_entry_safe(lctl, _lctl, &led->controls, list) + if (!card || lctl->card == card) snd_ctl_led_ctl_destroy(lctl); - goto repeat; - } } } static int snd_ctl_led_reset(int card_number, unsigned int group) { struct snd_card *card __free(snd_card_unref) = NULL; + struct snd_ctl_led_ctl *lctl, *_lctl; struct snd_ctl_led *led; - struct snd_ctl_led_ctl *lctl; struct snd_kcontrol_volatile *vd; bool change = false; @@ -315,14 +312,12 @@ static int snd_ctl_led_reset(int card_number, unsigned int group) if (!snd_ctl_led_card_valid[card_number]) return -ENXIO; led = &snd_ctl_leds[group]; -repeat: - list_for_each_entry(lctl, &led->controls, list) + list_for_each_entry_safe(lctl, _lctl, &led->controls, list) if (lctl->card == card) { vd = &lctl->kctl->vd[lctl->index_offset]; vd->access &= ~group_to_access(group); snd_ctl_led_ctl_destroy(lctl); change = true; - goto repeat; } } if (change) |