[igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/8] lib: Report file cache as available system memory
Chris Wilson
chris at chris-wilson.co.uk
Tue Jun 26 19:25:58 UTC 2018
Quoting Patchwork (2018-06-26 20:02:33)
> == Series Details ==
>
> Series: series starting with [i-g-t,1/8] lib: Report file cache as available system memory
> URL : https://patchwork.freedesktop.org/series/45427/
> State : failure
>
> == Summary ==
>
> = CI Bug Log - changes from CI_DRM_4373 -> IGTPW_1502 =
>
> == Summary - FAILURE ==
>
> Serious unknown changes coming with IGTPW_1502 absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_1502, please notify your bug team to allow them
> to document this new failure mode, which will reduce false positives in CI.
>
> External URL: https://patchwork.freedesktop.org/api/1.0/series/45427/revisions/1/mbox/
>
> == Possible new issues ==
>
> Here are the unknown changes that may have been introduced in IGTPW_1502:
>
> === IGT changes ===
>
> ==== Possible regressions ====
>
> igt at drv_module_reload@basic-no-display:
> fi-snb-2600: PASS -> INCOMPLETE
Just bad timing to hit a recursive deadlock in hdmi_present_sense().
<6>[ 456.622589] snd_hda_intel 0000:00:1b.0: failed to add i915 component master (-19)
<6>[ 456.634323] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC887-VD: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
<6>[ 456.634332] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
<6>[ 456.634334] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
<6>[ 456.634336] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
<6>[ 456.634338] snd_hda_codec_realtek hdaudioC0D0: dig-out=0x1e/0x0
<6>[ 456.634340] snd_hda_codec_realtek hdaudioC0D0: inputs:
<6>[ 456.634343] snd_hda_codec_realtek hdaudioC0D0: Front Mic=0x19
<6>[ 456.634345] snd_hda_codec_realtek hdaudioC0D0: Rear Mic=0x18
<6>[ 456.634347] snd_hda_codec_realtek hdaudioC0D0: Line=0x1a
<6>[ 456.654732] snd_hda_codec_hdmi hdaudioC0D3: No i915 binding for Intel HDMI/DP codec
<6>[ 456.659357] snd_hda_codec_hdmi hdaudioC0D3: No i915 binding for Intel HDMI/DP codec
<4>[ 456.665407] ============================================
<4>[ 456.665411] WARNING: possible recursive locking detected
<4>[ 456.665416] 4.18.0-rc2-CI-CI_DRM_4373+ #1 Tainted: G U
<4>[ 456.665421] --------------------------------------------
<4>[ 456.665425] kworker/3:2/396 is trying to acquire lock:
<4>[ 456.665430] 0000000026312358 (&spec->pcm_lock){+.+.}, at: hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665443]
but task is already holding lock:
<4>[ 456.665447] 0000000026312358 (&spec->pcm_lock){+.+.}, at: hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665458]
other info that might help us debug this:
<4>[ 456.665463] Possible unsafe locking scenario:
<4>[ 456.665468] CPU0
<4>[ 456.665470] ----
<4>[ 456.665473] lock(&spec->pcm_lock);
<4>[ 456.665477] lock(&spec->pcm_lock);
<4>[ 456.665481]
*** DEADLOCK ***
<4>[ 456.665488] May be due to missing lock nesting notation
<4>[ 456.665494] 3 locks held by kworker/3:2/396:
<4>[ 456.665497] #0: 000000006a321a6b ((wq_completion)"events"){+.+.}, at: process_one_work+0x1c2/0x6c0
<4>[ 456.665510] #1: 00000000c4e02304 ((work_completion)(&bus->unsol_work)){+.+.}, at: process_one_work+0x1c2/0x6c0
<4>[ 456.665521] #2: 0000000026312358 (&spec->pcm_lock){+.+.}, at: hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665532]
stack backtrace:
<4>[ 456.665539] CPU: 3 PID: 396 Comm: kworker/3:2 Tainted: G U 4.18.0-rc2-CI-CI_DRM_4373+ #1
<4>[ 456.665545] Hardware name: Dell Inc. XPS 8300 /0Y2MRG, BIOS A06 10/17/2011
<4>[ 456.665555] Workqueue: events process_unsol_events [snd_hda_core]
<4>[ 456.665561] Call Trace:
<4>[ 456.665567] dump_stack+0x67/0x9b
<4>[ 456.665573] __lock_acquire+0xc67/0x1b50
<4>[ 456.665586] ? mark_held_locks+0x50/0x80
<4>[ 456.665596] ? codec_exec_verb+0x94/0x100 [snd_hda_codec]
<4>[ 456.665602] ? lock_acquire+0xa6/0x210
<4>[ 456.665607] lock_acquire+0xa6/0x210
<4>[ 456.665612] ? hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665620] __mutex_lock+0x8c/0x9c0
<4>[ 456.665625] ? hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665633] ? hda_reg_write+0x20e/0x2f0 [snd_hda_core]
<4>[ 456.665639] ? hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665646] ? regcache_sync+0x113/0x3f0
<4>[ 456.665651] ? regcache_sync_block+0xcb/0x260
<4>[ 456.665657] ? hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665664] hdmi_present_sense+0x46/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665671] ? rcu_read_lock_sched_held+0x6f/0x80
<4>[ 456.665676] ? regcache_sync+0x328/0x3f0
<4>[ 456.665684] ? hda_call_codec_resume+0x110/0x110 [snd_hda_codec]
<4>[ 456.665691] generic_hdmi_resume+0x44/0x50 [snd_hda_codec_hdmi]
<4>[ 456.665699] hda_call_codec_resume+0xb6/0x110 [snd_hda_codec]
<4>[ 456.665707] hda_codec_runtime_resume+0x2c/0x40 [snd_hda_codec]
<4>[ 456.665714] __rpm_callback+0xb3/0x1b0
<4>[ 456.665719] rpm_callback+0x1a/0x70
<4>[ 456.665727] ? hda_call_codec_resume+0x110/0x110 [snd_hda_codec]
<4>[ 456.665733] rpm_resume+0x4f7/0x850
<4>[ 456.665739] __pm_runtime_resume+0x42/0x80
<4>[ 456.665747] codec_exec_verb+0x57/0x100 [snd_hda_codec]
<4>[ 456.665755] codec_read+0x39/0x70 [snd_hda_core]
<4>[ 456.665764] read_pin_sense+0x39/0xa0 [snd_hda_codec]
<4>[ 456.665772] jack_detect_update+0x8d/0xc0 [snd_hda_codec]
<4>[ 456.665781] snd_hda_pin_sense+0x55/0x60 [snd_hda_codec]
<4>[ 456.665787] hdmi_present_sense+0x162/0x370 [snd_hda_codec_hdmi]
<4>[ 456.665795] check_presence_and_report+0x59/0x80 [snd_hda_codec_hdmi]
<4>[ 456.665802] process_unsol_events+0x5d/0x70 [snd_hda_core]
<4>[ 456.665809] process_one_work+0x248/0x6c0
<4>[ 456.665815] worker_thread+0x37/0x380
<4>[ 456.665821] ? process_one_work+0x6c0/0x6c0
<4>[ 456.665826] kthread+0x119/0x130
<4>[ 456.665831] ? kthread_flush_work_fn+0x10/0x10
<4>[ 456.665836] ret_from_fork+0x3a/0x50
<6>[ 456.667401] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input29
<6>[ 456.667703] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input30
<6>[ 456.668004] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input31
<6>[ 456.668317] input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input32
<6>[ 456.668614] input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input33
<6>[ 456.668905] input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input34
<6>[ 456.669463] input: HDA Intel PCH Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input35
<6>[ 456.669964] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input36
<6>[ 456.670463] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input37
hdmi_present_sense() is not handling a possible error,
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 7d7eb1354eee..3ca98c9fcaee 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1632,8 +1632,8 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
int ret;
/* no temporary power up/down needed for component notifier */
- if (!codec_has_acomp(codec))
- snd_hda_power_up_pm(codec);
+ if (!codec_has_acomp(codec) && snd_hda_power_up_pm(codec))
+ return false;
mutex_lock(&spec->pcm_lock);
if (codec_has_acomp(codec)) {
but
int snd_hdac_power_up_pm(struct hdac_device *codec)
{
if (!atomic_inc_not_zero(&codec->in_pm))
return snd_hdac_power_up(codec);
return 0;
}
looks weird as how is in_pm actually incremented?
$ git grep in_pm -- sound/hda/
sound/hda/hdac_device.c: atomic_set(&codec->in_pm, 0);
sound/hda/hdac_device.c: if (!atomic_inc_not_zero(&codec->in_pm))
sound/hda/hdac_device.c: if (!atomic_inc_not_zero(&codec->in_pm)) {
sound/hda/hdac_device.c: if (atomic_dec_if_positive(&codec->in_pm) < 0)
as I read that in_pm always remains 0.
-Chris
More information about the igt-dev
mailing list