[<prev] [next>] [day] [month] [year] [list]
Message-ID: <87r0y63psf.wl-tiwai@suse.de>
Date: Mon, 14 Nov 2022 09:26:24 +0100
From: Takashi Iwai <tiwai@...e.de>
To: Daniil Tatianin <d-tatianin@...dex-team.ru>
Cc: Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Tim Crawford <tcrawford@...tem76.com>,
Stefan Binding <sbinding@...nsource.cirrus.com>,
Kai-Heng Feng <kai.heng.feng@...onical.com>,
Meng Tang <tangmeng@...ontech.com>,
Lucas Tanure <tanureal@...nsource.cirrus.com>,
Philipp Jungkamp <p.jungkamp@....net>,
Werner Sembach <wse@...edocomputers.com>,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
lvc-project@...uxtesting.org, yc-core@...dex-team.ru
Subject: Re: [PATCH v1] sound/pci/hda/patch_realtek: don't call alc_shutup_pins without a spec
On Mon, 14 Nov 2022 09:20:48 +0100,
Daniil Tatianin wrote:
>
> alc_shutup_pins always expects the spec to be present, so make sure
> it is before we call it.
>
> Found by Linux Verification Center (linuxtesting.org) with the SVACE
> static analysis tool.
>
> Signed-off-by: Daniil Tatianin <d-tatianin@...dex-team.ru>
In which path can it be without spec assigned?
That's the internal callback that is set only by the codec driver
where the allocation of codec->spec is mandatory.
thanks,
Takashi
> ---
> sound/pci/hda/patch_realtek.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 60e3bc124836..2cf4b64971d7 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -939,10 +939,12 @@ static inline void alc_shutup(struct hda_codec *codec)
> {
> struct alc_spec *spec = codec->spec;
>
> + if (!spec)
> + return;
> if (!snd_hda_get_bool_hint(codec, "shutup"))
> return; /* disabled explicitly by hints */
>
> - if (spec && spec->shutup)
> + if (spec->shutup)
> spec->shutup(codec);
> else
> alc_shutup_pins(codec);
> --
> 2.25.1
>
Powered by blists - more mailing lists