projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
493626f
)
ALSA: fireface: fix memory leak in ff400_switch_fetching_mode()
author
Takashi Sakamoto
<o-takashi@sakamocchi.jp>
Sun, 9 Sep 2018 13:25:52 +0000
(22:25 +0900)
committer
Takashi Iwai
<tiwai@suse.de>
Mon, 10 Sep 2018 07:08:14 +0000
(09:08 +0200)
An allocated memory forgets to be released.
Fixes: 76fdb3a9e13 ('ALSA: fireface: add support for Fireface 400')
Cc: <stable@vger.kernel.org> # 4.12+
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/fireface/ff-protocol-ff400.c
patch
|
blob
|
history
diff --git
a/sound/firewire/fireface/ff-protocol-ff400.c
b/sound/firewire/fireface/ff-protocol-ff400.c
index ad7a0a32557dc778e32acc6cb813cf4e56a54623..64c3cb0fb926ff8b9a51b21ec4d81cca464d3583 100644
(file)
--- a/
sound/firewire/fireface/ff-protocol-ff400.c
+++ b/
sound/firewire/fireface/ff-protocol-ff400.c
@@
-146,6
+146,7
@@
static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable)
{
__le32 *reg;
int i;
+ int err;
reg = kcalloc(18, sizeof(__le32), GFP_KERNEL);
if (reg == NULL)
@@
-163,9
+164,11
@@
static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable)
reg[i] = cpu_to_le32(0x00000001);
}
- return snd_fw_transaction(ff->unit, TCODE_WRITE_BLOCK_REQUEST,
- FF400_FETCH_PCM_FRAMES, reg,
- sizeof(__le32) * 18, 0);
+ err = snd_fw_transaction(ff->unit, TCODE_WRITE_BLOCK_REQUEST,
+ FF400_FETCH_PCM_FRAMES, reg,
+ sizeof(__le32) * 18, 0);
+ kfree(reg);
+ return err;
}
static void ff400_dump_sync_status(struct snd_ff *ff,