diff mbox series

ALSA: control - add the missing prev_lops2 initialization

Message ID 20210331180702.663489-1-perex@perex.cz
State Accepted
Commit 016c20506d5c30151196ab28c694ab10bc3604e6
Headers show
Series ALSA: control - add the missing prev_lops2 initialization | expand

Commit Message

Jaroslav Kysela March 31, 2021, 6:07 p.m. UTC
As static analysis reported, the prev_lops2 should contain
the previous lops2 pointer in snd_ctl_disconnect_layer().

Link: https://lore.kernel.org/alsa-devel/96e9bd5c-c8db-0db8-b393-fbf4a047dc80@canonical.com/
Fixes: 3f0638a0333b ("ALSA: control - add layer registration routines")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
 sound/core/control.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Takashi Iwai April 1, 2021, 8:06 a.m. UTC | #1
On Wed, 31 Mar 2021 20:07:02 +0200,
Jaroslav Kysela wrote:
> 
> As static analysis reported, the prev_lops2 should contain
> the previous lops2 pointer in snd_ctl_disconnect_layer().
> 
> Link: https://lore.kernel.org/alsa-devel/96e9bd5c-c8db-0db8-b393-fbf4a047dc80@canonical.com/
> Fixes: 3f0638a0333b ("ALSA: control - add layer registration routines")
> Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Applied, thanks.


Takashi
diff mbox series

Patch

diff --git a/sound/core/control.c b/sound/core/control.c
index 6825ca75daf5..20d707d4ef40 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -2074,7 +2074,7 @@  void snd_ctl_disconnect_layer(struct snd_ctl_layer_ops *lops)
 	struct snd_ctl_layer_ops *lops2, *prev_lops2;
 
 	down_write(&snd_ctl_layer_rwsem);
-	for (lops2 = snd_ctl_layer, prev_lops2 = NULL; lops2; lops2 = lops2->next)
+	for (lops2 = snd_ctl_layer, prev_lops2 = NULL; lops2; lops2 = lops2->next) {
 		if (lops2 == lops) {
 			if (!prev_lops2)
 				snd_ctl_layer = lops->next;
@@ -2082,6 +2082,8 @@  void snd_ctl_disconnect_layer(struct snd_ctl_layer_ops *lops)
 				prev_lops2->next = lops->next;
 			break;
 		}
+		prev_lops2 = lops2;
+	}
 	up_write(&snd_ctl_layer_rwsem);
 }
 EXPORT_SYMBOL_GPL(snd_ctl_disconnect_layer);