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] [thread-next>] [day] [month] [year] [list]
Message-ID: <56CB5A4A.90906@posteo.de>
Date:	Mon, 22 Feb 2016 19:58:18 +0100
From:	Martin Kepplinger <martink@...teo.de>
To:	Takashi Iwai <tiwai@...e.de>
Cc:	david.henningsson@...onical.com, han.lu@...el.com,
	libin.yang@...el.com, treding@...dia.com, perex@...ex.cz,
	alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [BUG] [REGRESSION] [BISECTED] -rc1 breaks audio over HDMI for
 i915

Am 2016-02-22 um 15:12 schrieb Takashi Iwai:
> On Mon, 22 Feb 2016 15:02:56 +0100,
> Martin Kepplinger wrote:
>>> And how about my questions in the previous mail?  Does
>>> i915_audio_component_get_eld() is called and returns 0?
>>> And is monitor_present set true or false?
>>
>> i915_audio_component_get_eld() returns 0 and monitor_present is 0.
>>>
>>> If i915_audio_component_get_eld() is called but returns zero, track
>>> the code flow there.  It means either intel_encoder is NULL or
>>> intel_dig_port->audio_connector is NULL.
>>
>> intel_dig_port->audio_connector is NULL!
>>
>> (when called during boot and during HDMI plugin)
> 
> Interesting.  The relevant code flow should be like:
> 
>   intel_audio_codec_enable()
>   -> acomp->audio_ops->pin_eld_notify()
>     -> intel_pin_eld_notify()
>       -> check_presence_and_report()
>         -> hdmi_present_sense()
> 	  -> sync_eld_via_acomp()
> 	    -> snd_hdac_acomp_get_eld()
> 	      -> i915_audio_component_get_eld()
> 
> So, at first, check whether intel_dig_port in both
> intel_audio_codec_enable() and i915_audio_component_get_eld() points
> to the same object address.  The audio_connector must be set in
> intel_audio_codec_enable(), thus basically it must be non-NULL at
> i915_audio_component_get_eld(), too.
> 

intel_dig_port is *not* the same object in these 2 places. During
plugin, see:

[  146.934091] in intel_audio_codec_enable: intel_dig_port is
ffff8800a1f54000
[  146.934121] in i915_audio_component_get_eld: intel_dig_port is
ffff880244f7d000

sorry for the slow responses. I'll try to go back that direction unless
again someone comes up with other suggestions.

                            martin


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ