Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1621708ybv; Fri, 21 Feb 2020 00:27:30 -0800 (PST) X-Google-Smtp-Source: APXvYqzQCvbSqdat0xvFA3m9v4pFED+UUv5JQgYs56SV7g10uMh6itMQ/ySTDN+Lyp5WCgTWqY4X X-Received: by 2002:aca:fd83:: with SMTP id b125mr1035836oii.1.1582273650163; Fri, 21 Feb 2020 00:27:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582273650; cv=none; d=google.com; s=arc-20160816; b=qsAaUqL6LUs1oPix8X7qC4FOwxFx3vuejN3NrIS79CCrIjFrbKP+oUzdnoSPBbLfy6 M0i40Usjk+nXuDrhXqEf2RWyYOAu8zEGc6v/S5krxth2jh+0haILfhu/Q7/Sz9eVP0wA kffPMcklgm0sUdeVp17eVoTtvueahqfGwFksjMIhIT3K2adUPDkDtCM3EMlCWr4J2LKj Yh5yLczYEO0UUNC3xBvpKl7fV+P3eH49QjQ4EGX350tqISVQwuZGmGuUqTuR3x1lW1jQ 26uC+McELuPmJhitluwBrhPv2KqIXOSaO7J7FOXKFQeAz7zMn/wHNUcNOPLXaHv24Lvh idQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TJW8sPCXUPjtBecMQ/sTRQTJq4IYwrlYvY1nalAK9v0=; b=gHdMWK5Ye6gKovBz02gI+9dLW+MtGLsccvRrZuMplEnLFO507yqUHUvUy9IcwR0qBk 0H5qRO3RlYhXqX4UOpCpPZOrWDWm1tTwV63aGFni0CpvHgBQOU+AyzGcTyoHbjUSUx0v wLbnAhrvCrHavv7VsZkL19z43OirJVHzB3pddAyigU7r9t3P/sYZIzTRS1rgH+b3stWu ggC2JJdtGPEcT7WdGncWhgAHzDvbh6ghMBIiFFaRIV18OvBaOBYhQHosEmXO55DoiOTo C+ObM/m9tBLRP/H3cNmG96RDCUinMgL9XZSSWO/LK+eOPvPTuw4svNd8QQdQP4LinmRV Qsgw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=DXb36PN1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a4si1027411otq.98.2020.02.21.00.27.17; Fri, 21 Feb 2020 00:27:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=DXb36PN1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388415AbgBUIXF (ORCPT + 99 others); Fri, 21 Feb 2020 03:23:05 -0500 Received: from mail.kernel.org ([198.145.29.99]:34948 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388398AbgBUIXD (ORCPT ); Fri, 21 Feb 2020 03:23:03 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id ACA932467A; Fri, 21 Feb 2020 08:23:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582273383; bh=zCSN13PuFpNnQ8k862eulbO3JS6sVcwQ5D/rjbdsX/8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DXb36PN1Rj/IzrdNgxDlL4hF3pgCQrYj2vFREdST6pF3PlqfC6mnMmhjLy3VmC6+5 Fz+Y7m+1SV2TsJ5IRHPZBH/AFtaWewBK8WY8torS6x8P1auVNkua70fVv4qgxCBLd4 SsEpbOwrO8kvx1xBEirnbHp0o/ilNbK2ltvz5/6k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kai Vehmanen , Takashi Iwai , Sasha Levin Subject: [PATCH 4.19 150/191] ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() Date: Fri, 21 Feb 2020 08:42:03 +0100 Message-Id: <20200221072308.716769725@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072250.732482588@linuxfoundation.org> References: <20200221072250.732482588@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kai Vehmanen [ Upstream commit 2928fa0a97ebb9549cb877fdc99aed9b95438c3a ] The initial snd_hda_get_sub_node() can fail on certain devices (e.g. some Chromebook models using Intel GLK). The failure rate is very low, but as this is is part of the probe process, end-user impact is high. In observed cases, related hardware status registers have expected values, but the node query still fails. Retrying the node query does seem to help, so fix the problem by adding retry logic to the query. This does not impact non-Intel platforms. BugLink: https://github.com/thesofproject/linux/issues/1642 Signed-off-by: Kai Vehmanen Reviewed-by: Takashi Iwai Link: https://lore.kernel.org/r/20200120160117.29130-4-kai.vehmanen@linux.intel.com Signed-off-by: Takashi Iwai Signed-off-by: Sasha Levin --- sound/pci/hda/patch_hdmi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index c827a2a89cc3d..c67fadd5aae53 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -2604,9 +2604,12 @@ static int alloc_intel_hdmi(struct hda_codec *codec) /* parse and post-process for Intel codecs */ static int parse_intel_hdmi(struct hda_codec *codec) { - int err; + int err, retries = 3; + + do { + err = hdmi_parse_codec(codec); + } while (err < 0 && retries--); - err = hdmi_parse_codec(codec); if (err < 0) { generic_spec_free(codec); return err; -- 2.20.1