[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <149805863799.15021.15278760577807511996@mail.alporthouse.com>
Date: Wed, 21 Jun 2017 16:23:57 +0100
From: Chris Wilson <chris@...is-wilson.co.uk>
To: Daniel Vetter <daniel.vetter@...ll.ch>,
"Intel Graphics Development" <intel-gfx@...ts.freedesktop.org>
Cc: "Daniel Vetter" <daniel.vetter@...ll.ch>,
"Jaroslav Kysela" <perex@...ex.cz>,
"Takashi Iwai" <tiwai@...e.com>,
"Guneshwor Singh" <guneshwor.o.singh@...el.com>,
"Hardik T Shah" <hardik.t.shah@...el.com>,
"Julia Lawall" <Julia.Lawall@...6.fr>,
"Vinod Koul" <vinod.koul@...el.com>,
"Subhransu S. Prusty" <subhransu.s.prusty@...el.com>,
"Libin Yang" <libin.yang@...el.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] BUG-REPORT: snd-hda: hacked-together EPROBE_DEFER support
Quoting Daniel Vetter (2017-06-21 16:08:54)
> So back when the i915 power well support landed in
>
> commit 99a2008d0b32d72dfc2a54e7be1eb698dd2e3bd6
> Author: Wang Xingchao <xingchao.wang@...ux.intel.com>
> Date: Thu May 30 22:07:10 2013 +0800
>
> ALSA: hda - Add power-welll support for haswell HDA
>
> the logic to handle the cross-module depencies was hand-rolled using a
> async work item, and that just doesn't work.
>
> The correct way to handle cross-module deps is either:
> - request_module + failing when the other module isn't there
>
> OR
>
> - failing the module load with EPROBE_DEFER.
>
> You can't mix them, if you do then the entire load path just
> busy-spins blowing through cpu cycles forever with no way to stop
> this.
>
> snd-hda-intel does mix it, because the hda codec drivers are loaded
> using request_module, but the i915 depency is handled using
> PROBE_DEFER (or well, should be, but I haven't found any code at all).
> This is a major pain when trying to debug i915 load failures.
>
> This patch here is a horrible hackish attempt at somewhat correctly
> wriing EPROBE_DEFER through. Stuff that's missing:
> - Check all the other places where load errors are conveniently
> dropped on the floor.
> - Also fix up the firmware_cb path.
> - Drop the debug noise I've left in to make it clear this isn't
> anything for merging.
This tames "hdaudio hdaudioC0D0: Unable to bind the codec" which was
continuously spewing previously, and now the system is usable again.
Thanks,
-Chris
Powered by blists - more mailing lists