ALSA: hda: Extend i915 component bind timeout [Linux 5.1]

ALSA: hda: Extend i915 component bind timeout [Linux 5.1]

This Linux kernel change "ALSA: hda: Extend i915 component bind timeout" is included in the Linux 5.1 release. This change is authored by Takashi Iwai <tiwai [at] suse.de> on Mon Feb 25 16:49:27 2019 +0100. The commit for this change in Linux stable tree is cfc35f9 (patch).

ALSA: hda: Extend i915 component bind timeout

I set 10 seconds for the timeout of the i915 audio component binding
with a hope that recent machines are fast enough to handle all probe
tasks in that period, but I was too optimistic.  The binding may take
longer than that, and this caused a problem on the machine with both
audio and graphics driver modules loaded in parallel, as Paul Menzel
experienced.  This problem haven't hit so often just because the KMS
driver is loaded in initrd on most machines.

As a simple workaround, extend the timeout to 60 seconds.

Fixes: f9b54e1961c7 ("ALSA: hda/i915: Allow delayed i915 audio component binding")
Reported-by: Paul Menzel <[email protected]>
Cc: <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>

There are 4 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

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

diff --git a/sound/hda/hdac_i915.c b/sound/hda/hdac_i915.c
index 617ff1a..27eb027 100644
--- a/sound/hda/hdac_i915.c
+++ b/sound/hda/hdac_i915.c
@@ -144,9 +144,9 @@ int snd_hdac_i915_init(struct hdac_bus *bus)
        return -ENODEV;
    if (!acomp->ops) {
        request_module("i915");
-       /* 10s timeout */
+       /* 60s timeout */
        wait_for_completion_timeout(&bind_complete,
-                       msecs_to_jiffies(10 * 1000));
+                       msecs_to_jiffies(60 * 1000));
    }
    if (!acomp->ops) {
        dev_info(bus->dev, "couldn't bind with audio component\n");

Leave a Reply

Your email address will not be published. Required fields are marked *