summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2022-04-24 19:24:28 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-05-12 12:17:09 +0200
commit847499172a68a15329cead3b09ad5544b863beb1 (patch)
tree27604448c8e6cf72df9ba08ba2197de67d688926
parent4bf68b364a7dc9fdfe9690ed721410db2d14e7c4 (diff)
downloadlinux-847499172a68a15329cead3b09ad5544b863beb1.tar.gz
linux-847499172a68a15329cead3b09ad5544b863beb1.tar.bz2
linux-847499172a68a15329cead3b09ad5544b863beb1.zip
ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes
commit eb9d84b0ffe39893cb23b0b6712bbe3637fa25fa upstream. ALSA fireworks driver has a bug in its initial state to return count shorter than expected by 4 bytes to userspace applications when handling response frame for Echo Audio Fireworks transaction. It's due to missing addition of the size for the type of event in ALSA firewire stack. Fixes: 555e8a8f7f14 ("ALSA: fireworks: Add command/response functionality into hwdep interface") Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Link: https://lore.kernel.org/r/20220424102428.21109-1-o-takashi@sakamocchi.jp Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--sound/firewire/fireworks/fireworks_hwdep.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/firewire/fireworks/fireworks_hwdep.c b/sound/firewire/fireworks/fireworks_hwdep.c
index a3a3a16f5e08..4d8302c083a0 100644
--- a/sound/firewire/fireworks/fireworks_hwdep.c
+++ b/sound/firewire/fireworks/fireworks_hwdep.c
@@ -35,6 +35,7 @@ hwdep_read_resp_buf(struct snd_efw *efw, char __user *buf, long remained,
type = SNDRV_FIREWIRE_EVENT_EFW_RESPONSE;
if (copy_to_user(buf, &type, sizeof(type)))
return -EFAULT;
+ count += sizeof(type);
remained -= sizeof(type);
buf += sizeof(type);