ALSA: echoaudio: Fix improper return value in function load_asic
authorPan Bian <bianpan2016@163.com>
Mon, 28 Nov 2016 23:33:07 +0000 (07:33 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 29 Nov 2016 18:59:57 +0000 (19:59 +0100)
When the second call to load_asic_generic() fails in function
load_asic(), "false" is returned. The real value of "false" is 0, which
indicates success in the context. As a result, the execution status and
the return value may be inconsistent. This patch fixes the bug.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188761
Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/echoaudio/layla24_dsp.c

index df28e51..c02bc1d 100644 (file)
@@ -135,7 +135,7 @@ static int load_asic(struct echoaudio *chip)
        err = load_asic_generic(chip, DSP_FNC_LOAD_LAYLA24_EXTERNAL_ASIC,
                                FW_LAYLA24_2S_ASIC);
        if (err < 0)
-               return false;
+               return err;
 
        /* Now give the external ASIC a little time to set up */
        mdelay(10);