Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1380010imm; Sat, 4 Aug 2018 02:11:52 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcyA1i7wSb5xY+QbgpwMTqmWlKxqRvWwlRcUrW87So6cOTfJpHZMHDXc4hiwev6Pd5rOxp0 X-Received: by 2002:a63:1262:: with SMTP id 34-v6mr7147304pgs.154.1533373912139; Sat, 04 Aug 2018 02:11:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533373912; cv=none; d=google.com; s=arc-20160816; b=DVyYIiZYZmZUQmpgIqRApEGSUuPmJtG3ncGE+8UYkDnGriNSDacBwko2VumGUoUqlh UQE6Trlnqzi31pwirPLpWL4zTATzLDNXOkNhFkFmynniSObgMq/5babJHyDaxzKO6XFb fIdsETEt24i3y9oonXzO4Zaux4qXynLDU3FX5S6zfv/GBrUxffhE4Nep/L2EXcr8gfyI BdBCWK1p/aJLAgPr6Yyl8H337LYAW73hwvcpX/cB6CLEnziZJkt5K+LJBIM4AQo0bnpV S98ogjzGQtybDrVQmS52fuM+qjcgr4bacnJgdZ5P2rkHnB+lWoP+6HMOkYGMsRXkPSPd VK0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=cXf+vB8llBn5b4JTuKICMkq1xwUsBn3nU1bVdHt3oXU=; b=I0aa5TV2JYyz+ZwrI9dH+XTRdpPmY3NEtnQ+Q136f1fsz05FCKu67WZLDoiF/bynE2 KEQRK7nPKUC3/bt/P1pAyuqtcqIzGzFX9THlWxR05t1NQ6TEfdsb5SbxUQMcgtADvlsx a3hTB6pvvuvbpAQAKYLzZgiKfu5jvVN60jaV9Es7dRXnfa1ZZGL8vuEORg+e6Hx10Wgp OglEGV4U4DZGpmNfFY4TUCo874IQp2vCAbq977tK60qt8933165wUzEwwm5bcR+R7+H1 toICrEVehs1F2cJRGJhMytkZl9TxFLfbA4Y/OZ68DpMQacFrBfgJBHoNrOvalV/b76KT JAag== ARC-Authentication-Results: i=1; mx.google.com; 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 g9-v6si6520235pgu.294.2018.08.04.02.11.37; Sat, 04 Aug 2018 02:11:52 -0700 (PDT) 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; 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 S2388954AbeHDLKZ (ORCPT + 99 others); Sat, 4 Aug 2018 07:10:25 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:50000 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732962AbeHDLKY (ORCPT ); Sat, 4 Aug 2018 07:10:24 -0400 Received: from localhost (D57E6652.static.ziggozakelijk.nl [213.126.102.82]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id A6D66BC6; Sat, 4 Aug 2018 09:10:24 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dmitry Osipenko , Thierry Reding , Sasha Levin Subject: [PATCH 4.4 081/124] memory: tegra: Do not handle spurious interrupts Date: Sat, 4 Aug 2018 11:01:10 +0200 Message-Id: <20180804082705.528124628@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180804082702.434482435@linuxfoundation.org> References: <20180804082702.434482435@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dmitry Osipenko [ Upstream commit bf3fbdfbec947cdd04b2f2c4bce11534c8786eee ] The ISR reads interrupts-enable mask, but doesn't utilize it. Apply the mask to the interrupt status and don't handle interrupts that MC driver haven't asked for. Kernel would disable spurious MC IRQ and report the error. This would happen only in a case of a very severe bug. Signed-off-by: Dmitry Osipenko Signed-off-by: Thierry Reding Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/memory/tegra/mc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/drivers/memory/tegra/mc.c +++ b/drivers/memory/tegra/mc.c @@ -252,8 +252,11 @@ static irqreturn_t tegra_mc_irq(int irq, unsigned int bit; /* mask all interrupts to avoid flooding */ - status = mc_readl(mc, MC_INTSTATUS); mask = mc_readl(mc, MC_INTMASK); + status = mc_readl(mc, MC_INTSTATUS) & mask; + + if (!status) + return IRQ_NONE; for_each_set_bit(bit, &status, 32) { const char *error = status_names[bit] ?: "unknown";