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 | |
parent | e7bb6ad5685f05685dd8a6a5eda7bfcd14d5f95b (diff) | |
download | op-kernel-dev-51e68fb0929c29e47e9074ca3e99ffd6021a1c5a.zip op-kernel-dev-51e68fb0929c29e47e9074ca3e99ffd6021a1c5a.tar.gz |
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>
-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 de4decfb..9ebe510 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; } |