diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2018-10-12 14:25:22 +0900 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2018-10-12 08:08:04 +0200 |
commit | 51e68fb0929c29e47e9074ca3e99ffd6021a1c5a (patch) | |
tree | 843ee6890e0c9b1d54667e67499ed2bcf3784ead /sound/firewire/isight.c | |
parent | e7bb6ad5685f05685dd8a6a5eda7bfcd14d5f95b (diff) | |
download | linux-51e68fb0929c29e47e9074ca3e99ffd6021a1c5a.tar.gz linux-51e68fb0929c29e47e9074ca3e99ffd6021a1c5a.tar.bz2 linux-51e68fb0929c29e47e9074ca3e99ffd6021a1c5a.zip |
ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback
In some error paths, reference count of firewire unit is not decreased.
This commit fixes the bug.
Fixes: 5b14ec25a79b('ALSA: firewire: release reference count of firewire unit in .remove callback of bus driver')
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/isight.c')
-rw-r--r-- | sound/firewire/isight.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/firewire/isight.c b/sound/firewire/isight.c index de4decfb74d5..9ebe510ea26b 100644 --- a/sound/firewire/isight.c +++ b/sound/firewire/isight.c @@ -638,7 +638,7 @@ static int isight_probe(struct fw_unit *unit, if (!isight->audio_base) { dev_err(&unit->device, "audio unit base not found\n"); err = -ENXIO; - goto err_unit; + goto error; } fw_iso_resources_init(&isight->resources, unit); @@ -667,12 +667,12 @@ static int isight_probe(struct fw_unit *unit, dev_set_drvdata(&unit->device, isight); return 0; - -err_unit: - fw_unit_put(isight->unit); - mutex_destroy(&isight->mutex); error: snd_card_free(card); + + mutex_destroy(&isight->mutex); + fw_unit_put(isight->unit); + return err; } |