Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp5157696ybh; Wed, 7 Aug 2019 01:35:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqyQqafRlJyc7Y3stQ0NMjKuF147Js53whVo0AVA4wYAuYknVaS8qTandVBoftI4pJDqARtN X-Received: by 2002:a17:902:724a:: with SMTP id c10mr6669729pll.298.1565166919960; Wed, 07 Aug 2019 01:35:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565166919; cv=none; d=google.com; s=arc-20160816; b=seSNbb7wcofpMuAWRzqtMq3bnsnQEOc31XyJVKb1OAi/x9Qhy1wZ2HIpI4zN5pd5yv 4RVvDFx17L9cHEk+LmFWR9kOTiDfPnxBq2cofvoN2eSNHxa+23yPzNcBq0tbmy3QI8Rn Rsff16g7bE5b/8Odh7NOLuRQXheUo4KYzkh2mTsQolbPkHSm7s3P6L8W2SulpW/cHX8a RwJd5bhmm0M1OhKAkNosHEzwW9WfbM0p2RE2I0OaCVJVotFCyi/ypDkw/s80bKF7wSNo nk1/5VFZa/sQbStP3ZpJ77WGHnX+1XClHHDgvGVjjhEpHvq2a2wiXbtWf0jdKOK08uuz jazQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:message-id:date:subject:cc:from :dkim-signature; bh=kyChUZTxJ04dQ6W7AFNvGVPrgZSmkOSamFppYF2sKlQ=; b=itrBOaDHF6Sk/j1NokySrf5HY2m7vOfnrFoFq0V3b0/bK0QlTNiWWfc9ivCUpvMWDa wCUc4LjV/467F7CpEYkhS7EJpgzsNLLGr1I4AdBhmtjDykMQYkrhXWsFpgJHAO3RTawX OVbn0ncbM7o4X4tUse95XgFZnnRl63DoCMB5f5ejz704uE0BQhdXPeG8XQnxdyXF+pA4 Lm4qecHhzo+aD21f/ABdA/m2Gak7sl5zjPL7QYJ1MX50I0n9Yyr37qzyGdgkCsjGbTVZ ySDSF+toE30bXKd76C6FCjXhbq6W/RbupylurvLh3fPtjuxvQDc8Afi+Ukvr4qNLL236 CKcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b="va83T/fR"; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g8si43839425plt.273.2019.08.07.01.35.05; Wed, 07 Aug 2019 01:35:19 -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; dkim=fail header.i=@gmail.com header.s=20161025 header.b="va83T/fR"; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387598AbfHGIXV (ORCPT + 99 others); Wed, 7 Aug 2019 04:23:21 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:35812 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387498AbfHGIXU (ORCPT ); Wed, 7 Aug 2019 04:23:20 -0400 Received: by mail-pl1-f193.google.com with SMTP id w24so39633540plp.2; Wed, 07 Aug 2019 01:23:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=kyChUZTxJ04dQ6W7AFNvGVPrgZSmkOSamFppYF2sKlQ=; b=va83T/fR5DeQzxnDrPIhn/Wqu4brcDIpmuElsedxn4N4LkWtaYiYzESaSZ3shnNKSY s/MJS0E0U4qXPykgLS3AsoiukMjmHG3NKZUFuk83zofdpxZMCm7pq8ZbYhVEWsks1Y1D 9c+hIFIN5tQ457it494fO5Il9VWhTTRNnwBs705GPzguHs8ykZi7DFCdFRrE97JUuRXM pAbGcTtdWfVjqE6+TNtWSpAfX9xJpf461LoiHB2kB6BO0odv61gtV+KoxfZJhITAct17 cLq2dMqsGCHY33gr9IJHrNebMheULSxjmQUwAJKTpzCsuPVkcbmRfqmy5tvKNSY6hTgc Mb3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=kyChUZTxJ04dQ6W7AFNvGVPrgZSmkOSamFppYF2sKlQ=; b=fqqdsDYw4YecBaaN78RJX1Uzml369g/HSapjVvAZCPIh+FfG/yHNW9QjrGL60ll6Dn ZjeHo2EUash8sVjDLEXok+n3JaazYIsqmTCDPC3jCnMTAtlpFjeOI6uy+J5OgjGO1PPT WdXOcmjmXS0mkMLw+xLAPlp31JmbkFy3XQ/77V7chAa5pee0KGlJAKMqZzkl7wHDN46w FrCtCNdBRLIOu2uLdCyk9aN5DRvgyaDjzvTitpNRPRF6Xkrh93bZrCKBHpvhmIyQMaUC H7KVlkwJnyjw0Od/IaYPLmo7PSsJONF52V1Jrf1pRw0xwyrhzZSHyfdtQpspJXKDIspt x+xw== X-Gm-Message-State: APjAAAXrTNIr0APXN9IQYSmQEapUNZ8W6Tx810gJo1e6IInU2h84HV/s KIZxltik5foDQhQQWXV9GB8= X-Received: by 2002:a17:902:449:: with SMTP id 67mr7251593ple.105.1565166200127; Wed, 07 Aug 2019 01:23:20 -0700 (PDT) Received: from hfq-skylake.ipads-lab.se.sjtu.edu.cn ([202.120.40.82]) by smtp.googlemail.com with ESMTPSA id h14sm117703513pfq.22.2019.08.07.01.23.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Aug 2019 01:23:19 -0700 (PDT) From: Fuqian Huang Cc: Alessandro Zummo , Alexandre Belloni , linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, Fuqian Huang Subject: [PATCH] rtc: mxc: use spin_lock_irqsave instead of spin_lock_irq in IRQ context Date: Wed, 7 Aug 2019 16:23:10 +0800 Message-Id: <20190807082310.10135-1-huangfq.daxian@gmail.com> X-Mailer: git-send-email 2.11.0 To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As spin_unlock_irq will enable interrupts. mxc_rtc_irq_enable is called from interrupt handler mxc_rtc_interrupt. Interrupts are enabled in interrupt handler. Use spin_lock_irqsave/spin_unlock_irqrestore instead of spin_(un)lock_irq in IRQ context to avoid this. Signed-off-by: Fuqian Huang --- drivers/rtc/rtc-mxc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-mxc.c b/drivers/rtc/rtc-mxc.c index e697e96612bb..902d57dcd0d4 100644 --- a/drivers/rtc/rtc-mxc.c +++ b/drivers/rtc/rtc-mxc.c @@ -184,8 +184,9 @@ static void mxc_rtc_irq_enable(struct device *dev, unsigned int bit, struct rtc_plat_data *pdata = dev_get_drvdata(dev); void __iomem *ioaddr = pdata->ioaddr; u32 reg; + unsigned long flags; - spin_lock_irq(&pdata->rtc->irq_lock); + spin_lock_irqsave(&pdata->rtc->irq_lock, flags); reg = readw(ioaddr + RTC_RTCIENR); if (enabled) @@ -194,7 +195,7 @@ static void mxc_rtc_irq_enable(struct device *dev, unsigned int bit, reg &= ~bit; writew(reg, ioaddr + RTC_RTCIENR); - spin_unlock_irq(&pdata->rtc->irq_lock); + spin_unlock_irqrestore(&pdata->rtc->irq_lock, flags); } /* This function is the RTC interrupt service routine. */ -- 2.11.0