ALSA: firewire-motu: fix unreleased lock warning in hwdep device
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 30 Jan 2023 14:15:40 +0000 (23:15 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:08 +0000 (11:28 +0100)
[ Upstream commit c7a806d9ce6757ff56078674916e53bd859f242d ]

Smatch static analysis tool detects that acquired lock is not released
in hwdep device when condition branch is passed due to no event. It is
unlikely to occur, while fulfilling is preferable for better coding.

Reported-by: Dan Carpenter <error27@gmail.com>
Fixes: 634ec0b2906e ("ALSA: firewire-motu: notify event for parameter change in register DSP model")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20230130141540.102854-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/firewire/motu/motu-hwdep.c

index a900fc0..88d1f4b 100644 (file)
@@ -87,6 +87,10 @@ static long hwdep_read(struct snd_hwdep *hwdep, char __user *buf, long count,
                        return -EFAULT;
 
                count = consumed;
+       } else {
+               spin_unlock_irq(&motu->lock);
+
+               count = 0;
        }
 
        return count;