lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87a5ni5iun.wl-tiwai@suse.de>
Date: Fri, 01 Mar 2024 11:47:44 +0100
From: Takashi Iwai <tiwai@...e.de>
To: songxiebing <soxiebing@....com>
Cc: alsa-devel@...a-project.org,
	linux-kernel@...r.kernel.org,
	songxiebing@...inos.cn,
	tiwai@...e.com
Subject: Re: [PATCH v2] ALSA: hda: optimize the probe codec process

On Fri, 01 Mar 2024 02:18:41 +0100,
songxiebing wrote:
> 
> From: songxiebing <songxiebing@...inos.cn>
> 
> In azx_probe_codecs function, when bus->codec_mask is becomes to 0(no codecs),
> execute azx_init_chip, bus->codec_mask will be initialized to a value again,
> this causes snd_hda_codec_new function to run, the process is as follows:
> -->snd_hda_codec_new
> -->snd_hda_codec_device_init
> -->snd_hdac_device_init---snd_hdac_read_parm(...AC_PAR_VENDOR_ID) 2s
> 		       ---snd_hdac_read_parm(...AC_PAR_VENDOR_ID) 2s
> 		       ---snd_hdac_read_parm(...AC_PAR_SUBSYSTEM_ID) 2s
> 		       ---snd_hdac_read_parm(...AC_PAR_REV_ID) 2s
> 		       ---snd_hdac_read_parm(...AC_PAR_NODE_COUNT) 2s
> when no codecs, read communication is error, each command will be polled for
> 2 second, a total of 10s, it is easy to some problem.
> like this:
>   2 [   14.833404][ 6] [  T164] hda 0006:00: Codec #0 probe error; disabling it...
>   3 [   14.844178][ 6] [  T164] hda 0006:00: codec_mask = 0x1
>   4 [   14.880532][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0000
>   5 [   15.891988][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0000
>   6 [   16.978090][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0001
>   7 [   18.140895][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0002
>   8 [   19.135516][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0004
>  10 [   19.900086][ 6] [  T164] hda 0006:00: no codecs initialized
>  11 [   45.573398][ 2] [    C2] watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [kworker/2:0:25]
> 
> Here, when bus->codec_mask is 0, use a direct break to avoid execute snd_hda_codec_new function.
> 
> Signed-off-by: songxiebing <songxiebing@...inos.cn>
> ---
> Changes in v2: fix some non-ASCII comma letters.

Thanks, applied now.


Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ