Commit 36f3a6e0 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai

ALSA: fireface: fix memory leak in ff400_switch_fetching_mode()

An allocated memory forgets to be released.

Fixes: 76fdb3a9 ('ALSA: fireface: add support for Fireface 400')
Cc: <stable@vger.kernel.org> # 4.12+
Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 493626f2
...@@ -146,6 +146,7 @@ static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable) ...@@ -146,6 +146,7 @@ static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable)
{ {
__le32 *reg; __le32 *reg;
int i; int i;
int err;
reg = kcalloc(18, sizeof(__le32), GFP_KERNEL); reg = kcalloc(18, sizeof(__le32), GFP_KERNEL);
if (reg == NULL) if (reg == NULL)
...@@ -163,9 +164,11 @@ static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable) ...@@ -163,9 +164,11 @@ static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable)
reg[i] = cpu_to_le32(0x00000001); reg[i] = cpu_to_le32(0x00000001);
} }
return snd_fw_transaction(ff->unit, TCODE_WRITE_BLOCK_REQUEST, err = snd_fw_transaction(ff->unit, TCODE_WRITE_BLOCK_REQUEST,
FF400_FETCH_PCM_FRAMES, reg, FF400_FETCH_PCM_FRAMES, reg,
sizeof(__le32) * 18, 0); sizeof(__le32) * 18, 0);
kfree(reg);
return err;
} }
static void ff400_dump_sync_status(struct snd_ff *ff, static void ff400_dump_sync_status(struct snd_ff *ff,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment