lkml.org 
[lkml]   [2019]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 099/131] ALSA: hda: Fix 1-minute detection delay when i915 module is not available
    Date
    From: Samuel Thibault <samuel.thibault@ens-lyon.org>

    commit 74bf71ed792ab0f64631cc65ccdb54c356c36d45 upstream.

    Distribution installation images such as Debian include different sets
    of modules which can be downloaded dynamically. Such images may notably
    include the hda sound modules but not the i915 DRM module, even if the
    latter was enabled at build time, as reported on
    https://bugs.debian.org/931507

    In such a case hdac_i915 would be linked in and try to load the i915
    module, fail since it is not there, but still wait for a whole minute
    before giving up binding with it.

    This fixes such as case by only waiting for the binding if the module
    was properly loaded (or module support is disabled, in which case i915
    is already compiled-in anyway).

    Fixes: f9b54e1961c7 ("ALSA: hda/i915: Allow delayed i915 audio component binding")
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/hda/hdac_i915.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    --- a/sound/hda/hdac_i915.c
    +++ b/sound/hda/hdac_i915.c
    @@ -136,10 +136,12 @@ int snd_hdac_i915_init(struct hdac_bus *
    if (!acomp)
    return -ENODEV;
    if (!acomp->ops) {
    - request_module("i915");
    - /* 60s timeout */
    - wait_for_completion_timeout(&bind_complete,
    - msecs_to_jiffies(60 * 1000));
    + if (!IS_ENABLED(CONFIG_MODULES) ||
    + !request_module("i915")) {
    + /* 60s timeout */
    + wait_for_completion_timeout(&bind_complete,
    + msecs_to_jiffies(60 * 1000));
    + }
    }
    if (!acomp->ops) {
    dev_info(bus->dev, "couldn't bind with audio component\n");

    \
     
     \ /
      Last update: 2019-08-05 15:26    [W:4.028 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site