mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
ALSA: hda/conexant: Add NULL check for dc_mode_path
snd_hda_add_new_path() returns NULL when no path exists between the given NIDs, but olpc_xo_update_mic_pins() passes dc_mode_path straight to snd_hda_activate_path() which dereferences it without checking. Add the missing NULL guards, same as the local path variable already has in the same function. Signed-off-by: wangdicheng <wangdicheng@kylinos.cn> Link: https://patch.msgid.link/20260729070935.548050-2-wangdich9700@163.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
76b588c061
commit
273806f38c
|
|
@ -451,7 +451,8 @@ static void olpc_xo_update_mic_pins(struct hda_codec *codec)
|
|||
if (!spec->dc_enable) {
|
||||
/* disable DC bias path and pin for port F */
|
||||
update_mic_pin(codec, 0x1e, 0);
|
||||
snd_hda_activate_path(codec, spec->dc_mode_path, false, false);
|
||||
if (spec->dc_mode_path)
|
||||
snd_hda_activate_path(codec, spec->dc_mode_path, false, false);
|
||||
|
||||
/* update port B (ext mic) and C (int mic) */
|
||||
/* OLPC defers mic widget control until when capture is
|
||||
|
|
@ -487,7 +488,8 @@ static void olpc_xo_update_mic_pins(struct hda_codec *codec)
|
|||
update_mic_pin(codec, 0x1b, 0);
|
||||
/* enable DC bias path and pin */
|
||||
update_mic_pin(codec, 0x1e, spec->recording ? PIN_IN : 0);
|
||||
snd_hda_activate_path(codec, spec->dc_mode_path, true, false);
|
||||
if (spec->dc_mode_path)
|
||||
snd_hda_activate_path(codec, spec->dc_mode_path, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user