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 <[email protected]>
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
>