]> www.infradead.org Git - users/dwmw2/linux.git/commit
ALSA: info: Fix llseek return value when using callback
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Wed, 17 Aug 2022 12:49:24 +0000 (14:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:37:49 +0000 (11:37 +0200)
commite14e2fec35d3a1a3e8f8e6ee81ba2be4b6530c30
tree1ef2c513f4aa05ac3b126174a83652be658c628d
parent74ded189e5e4df83aaa1478f7a021f904105c8dc
ALSA: info: Fix llseek return value when using callback

commit 9be080edcca330be4af06b19916c35227891e8bc upstream.

When using callback there was a flow of

ret = -EINVAL
if (callback) {
offset = callback();
goto out;
}
...
offset = some other value in case of no callback;
ret = offset;
out:
return ret;

which causes the snd_info_entry_llseek() to return -EINVAL when there is
callback handler. Fix this by setting "ret" directly to callback return
value before jumping to "out".

Fixes: 73029e0ff18d ("ALSA: info - Implement common llseek for binary mode")
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220817124924.3974577-1-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/core/info.c