Commit 3757657a authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Greg Kroah-Hartman

ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback

[ Upstream commit 51e68fb0 ]

In some error paths, reference count of firewire unit is not decreased.
This commit fixes the bug.

Fixes: 5b14ec25('ALSA: firewire: release reference count of firewire unit in .remove callback of bus driver')
Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 49a9643b
...@@ -640,7 +640,7 @@ static int isight_probe(struct fw_unit *unit, ...@@ -640,7 +640,7 @@ static int isight_probe(struct fw_unit *unit,
if (!isight->audio_base) { if (!isight->audio_base) {
dev_err(&unit->device, "audio unit base not found\n"); dev_err(&unit->device, "audio unit base not found\n");
err = -ENXIO; err = -ENXIO;
goto err_unit; goto error;
} }
fw_iso_resources_init(&isight->resources, unit); fw_iso_resources_init(&isight->resources, unit);
...@@ -669,12 +669,12 @@ static int isight_probe(struct fw_unit *unit, ...@@ -669,12 +669,12 @@ static int isight_probe(struct fw_unit *unit,
dev_set_drvdata(&unit->device, isight); dev_set_drvdata(&unit->device, isight);
return 0; return 0;
err_unit:
fw_unit_put(isight->unit);
mutex_destroy(&isight->mutex);
error: error:
snd_card_free(card); snd_card_free(card);
mutex_destroy(&isight->mutex);
fw_unit_put(isight->unit);
return err; return err;
} }
......
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