ALSA: ppc: fix error return code in snd_pmac_probe()
authorYang Yingliang <yangyingliang@huawei.com>
Wed, 16 Jun 2021 02:11:21 +0000 (10:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:17:50 +0000 (16:17 +0200)
[ Upstream commit 80b9c1be567c3c6bbe0d4b290af578e630485b5d ]

If snd_pmac_tumbler_init() or snd_pmac_tumbler_post_init() fails,
snd_pmac_probe() need return error code.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210616021121.1991502-1-yangyingliang@huawei.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/ppc/powermac.c

index 33c6be9fb388eaba44c9424044661bf9a5897d69..7c70ba5e2540d979664f638c8e8f3e2e64e58a93 100644 (file)
@@ -90,7 +90,11 @@ static int snd_pmac_probe(struct platform_device *devptr)
                sprintf(card->shortname, "PowerMac %s", name_ext);
                sprintf(card->longname, "%s (Dev %d) Sub-frame %d",
                        card->shortname, chip->device_id, chip->subframe);
-               if ( snd_pmac_tumbler_init(chip) < 0 || snd_pmac_tumbler_post_init() < 0)
+               err = snd_pmac_tumbler_init(chip);
+               if (err < 0)
+                       goto __error;
+               err = snd_pmac_tumbler_post_init();
+               if (err < 0)
                        goto __error;
                break;
        case PMAC_AWACS: