Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1334454imm; Thu, 23 Aug 2018 01:01:08 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzEqFlkLMKfNrFx1d8inP/FeVqp8Q9DAz4wMES+vnCGJdlMk6fM0edetPlCvaVeb7G84KZL X-Received: by 2002:a65:5004:: with SMTP id f4-v6mr54419176pgo.54.1535011268199; Thu, 23 Aug 2018 01:01:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535011268; cv=none; d=google.com; s=arc-20160816; b=p1H0lg0GPets4nwWl2vO8hDrMWNcVoaWNabdWb2FX9/gbxwOYmD8MzXJ7eKp2GeTQf p3kq/CCqTBHCGEkppb71pV6GjLUvP3l0ky5iF6EaZ0FsOVVrICB+c1ig4gvh76TDlSpc s3rg3E+bypuz81kBzJrmi2QNxGCLj+c4KZ0u4fbOrC6AlE5EXSKTM2sXzHZ0bdwSkN5j VBqtdVczQ72QN75OMmN8heB9UcRTrZKmfz9aQsaPULHfgbsC8FNjuAejd2RKaQG0UbeT kGePlkdCoTXuDT4k7VBZYR5F2j1gEXMiSsRMfuTw8nixda6ysmjmYQkepHAMZcWg007Q EUJA== 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=xTngoWC6IpRhsgQ8cP7OF5S1kLTV3ACO4Bl83AeYSZc=; b=KcasUj4W1ez2wwn+OD2WdTMgVGf2aJwHd98cq5KVOxkxvrHHzHaamDJBVmiu3o39en JH9u4cGVQNinbc5p8uUPzVWuEV605mAZr8hp1Ci9pCE0Fn6r74V9dJPQB6VScQ4lSFDv u+l1ATq0qtD1dRKWm0ZOTMJRs644ooRMTrNh+BuOOFIY6xJZsa56ile0aO44TAIRmFyT W7I0BL5zGAAi2KRC9wY3H9dLxo/wVs+OUepgLCbZ+qX1glJvqrH1fQGnOLA6iocAxTqY yg7bG6yslN34Ynfvw8VG4U2mxlW6lQaGhIxZBhTn7PItQF6Xgk43sTN+gJUKxAJKUk7h v+Eg== 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 c15-v6si3504269plo.232.2018.08.23.01.00.52; Thu, 23 Aug 2018 01:01:08 -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 S1728323AbeHWL11 (ORCPT + 99 others); Thu, 23 Aug 2018 07:27:27 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:41948 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726978AbeHWL10 (ORCPT ); Thu, 23 Aug 2018 07:27:26 -0400 Received: from localhost (5355525A.cm-6-6b.dynamic.ziggo.nl [83.85.82.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id E72A59D2; Thu, 23 Aug 2018 07:59:03 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Daniel Mack , Robert Jarzmik , Sasha Levin Subject: [PATCH 4.4 46/79] ARM: pxa: irq: fix handling of ICMR registers in suspend/resume Date: Thu, 23 Aug 2018 09:53:22 +0200 Message-Id: <20180823074922.107889581@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180823074918.641878835@linuxfoundation.org> References: <20180823074918.641878835@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: Daniel Mack [ Upstream commit 0c1049dcb4ceec640d8bd797335bcbebdcab44d2 ] PXA3xx platforms have 56 interrupts that are stored in two ICMR registers. The code in pxa_irq_suspend() and pxa_irq_resume() however does a simple division by 32 which only leads to one register being saved at suspend and restored at resume time. The NAND interrupt setting, for instance, is lost. Fix this by using DIV_ROUND_UP() instead. Signed-off-by: Daniel Mack Signed-off-by: Robert Jarzmik Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- arch/arm/mach-pxa/irq.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c @@ -185,7 +185,7 @@ static int pxa_irq_suspend(void) { int i; - for (i = 0; i < pxa_internal_irq_nr / 32; i++) { + for (i = 0; i < DIV_ROUND_UP(pxa_internal_irq_nr, 32); i++) { void __iomem *base = irq_base(i); saved_icmr[i] = __raw_readl(base + ICMR); @@ -204,7 +204,7 @@ static void pxa_irq_resume(void) { int i; - for (i = 0; i < pxa_internal_irq_nr / 32; i++) { + for (i = 0; i < DIV_ROUND_UP(pxa_internal_irq_nr, 32); i++) { void __iomem *base = irq_base(i); __raw_writel(saved_icmr[i], base + ICMR);