From patchwork Fri Feb 15 12:52:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 158517 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp669056jaa; Fri, 15 Feb 2019 04:52:43 -0800 (PST) X-Google-Smtp-Source: AHgI3IZ9wLN0LzSZ1WZqJc6VbBY9gxJEHx87PCpmoS4ir9LszYLU7NjNETzBPagI1dFE/eL4ZOO6 X-Received: by 2002:a17:902:b118:: with SMTP id q24mr10155186plr.209.1550235163173; Fri, 15 Feb 2019 04:52:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550235163; cv=none; d=google.com; s=arc-20160816; b=h5WIKuDKO3RKBGGVqpekwxj6lb20TXvWfBfIw1JMzgEecvjqe+baS//OfkOR2k2WgK 1mGTgtCr+Za+VNqwrFzipTDFYyQLrmLfshfZ0hLsbKk5a4qjvu6u3CvacZ0/WsvqKueG cpqF8ndB87Pe65AtBVnKdDWv5eWSXCO+rmbVRhsGXsoKPtgf+OoCe3G+LJFQbpFmKESm RvxD0N7lVvU48X5Up2fmzV/OdvOU/LZfFHNS2Yas9cFrOghdShmnK6gX8kdVzDnLznqh lhHcluapNoyDRfjFpHM7cxNaortww8Wng9cTtDU67Dy5yS2I2oTTT4i8aFN/JfnugbUM cUVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=23R/J6B8yoCfPOWlxldxP5D7mXL7n7ZMaMuWjzEhIWQ=; b=c3MuEz+bA0YX9GZciqM1HWIOHmlvRPQrSseR6yN+VdZgFDdVU2G7ao2WebHijEGpUQ zTJw7CI//vOiX1/w1NPOoiQmeHuQPTgEHfVbjMCeTfLKQuHGmOgTvqN9BVNoE/Ex68h7 x/NfrQXDu6nvM0gia6G1bhTfxD6yeTRSVQCtSosh8+naT7BMzZyNTsJEfMuAl9koZZ/B GCDUosyxUEc8JEmxRwDEyAMLAMlyG+6gWjRv1HbvAKSQQXJK9PvOlEhZQwCOELa3KZOR MiBMtKF1vSgL7KjQdXWaLCUrzfJ1Pqkp/a/QoxeNDjMGb+lGnXGYx2mcAoje7a1cxQ/6 l1mA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=qmLidFah; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i16si5357287pfi.192.2019.02.15.04.52.42; Fri, 15 Feb 2019 04:52:43 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-samsung-soc-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=@samsung.com header.s=mail20170921 header.b=qmLidFah; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2394732AbfBOMwm (ORCPT + 3 others); Fri, 15 Feb 2019 07:52:42 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:44514 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2394691AbfBOMwm (ORCPT ); Fri, 15 Feb 2019 07:52:42 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20190215125240euoutp013720a04c3f5daff0ec03d179b273c794~Diqo8eFJk0851708517euoutp01k; Fri, 15 Feb 2019 12:52:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20190215125240euoutp013720a04c3f5daff0ec03d179b273c794~Diqo8eFJk0851708517euoutp01k DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1550235160; bh=23R/J6B8yoCfPOWlxldxP5D7mXL7n7ZMaMuWjzEhIWQ=; h=From:To:Cc:Subject:Date:In-reply-to:References:From; b=qmLidFah37H9pXRirJ0UWqtHiSd5huLE2wLYV7GdkqG+Du0EtbGzjsIf/bYwokk0A LS6JpkM1LXyPbAwuZnjAdi3NDZWBDaRIDxDZTnKQ8yKjS56rqTl6lj/hZC0Y4iN4+4 tcDHTPuTj9PUi+p4z3vW8cBeWGK9uQnecp52vAEo= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20190215125240eucas1p1ffa039b44585df0854f41d5c3a734292~DiqokI5zz2482424824eucas1p1J; Fri, 15 Feb 2019 12:52:40 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 7F.22.04806.716B66C5; Fri, 15 Feb 2019 12:52:39 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20190215125239eucas1p2da364c36dca63e0653362e1b4549027d~Diqn59tuF3016630166eucas1p2Y; Fri, 15 Feb 2019 12:52:39 +0000 (GMT) X-AuditID: cbfec7f5-367ff700000012c6-07-5c66b6174808 Received: from eusync4.samsung.com ( [203.254.199.214]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 43.C7.04128.716B66C5; Fri, 15 Feb 2019 12:52:39 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0PMY00LS8X3MCB70@eusync4.samsung.com>; Fri, 15 Feb 2019 12:52:39 +0000 (GMT) From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Marek Szyprowski , Thomas Gleixner , Daniel Lezcano , Krzysztof Kozlowski , Chanwoo Choi , Bartlomiej Zolnierkiewicz Subject: [PATCH v4 2/6] clocksource: exynos_mct: Fix error path in timer resources initialization Date: Fri, 15 Feb 2019 13:52:26 +0100 Message-id: <20190215125229.30180-3-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-reply-to: <20190215125229.30180-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKIsWRmVeSWpSXmKPExsWy7djPc7ri29JiDJ5O07fYOGM9q8X1L89Z LeZ9lrU4f34Du8Wmx9dYLWac38dksfbIXXaLzZumMjtweGxa1cnmcefaHjaPd+fOsXtsXlLv 0bdlFaPH501yAWxRXDYpqTmZZalF+nYJXBk/N1xkL/jKVXH3xC6mBsa5nF2MHBwSAiYSX/d5 dTFycQgJrGCUuPP2NhuE85lR4uWh0yxdjJxgRT1f7jFCJJYxSsxaPJEZwmlgklix6x07SBWb gKFE19suNhBbRMBbYvKZv+wgRcwCXUwStxceACsSFkiWuHXvLiuIzSKgKnHi6VYwm1fAVqKj /wMTxDp5idUbDjCD2JwCdhJr1vQwQ8SnsEn8W5cNcbeLxKtOTYiwjMTlyd0sILskBJoZJdpn zGKHcHoYJbbO2cEGUWUtcfj4RbBlzAJ8EpO2TWeGGMQr0dEmBFHiIbHu1jGo/ycySmy51s0+ gVFiASPDKkbx1NLi3PTUYuO81HK94sTc4tK8dL3k/NxNjMDIO/3v+NcdjPv+JB1iFOBgVOLh XZGRGiPEmlhWXJl7iFGCg1lJhJdzTVqMEG9KYmVValF+fFFpTmrxIUZpDhYlcd5qhgfRQgLp iSWp2ampBalFMFkmDk6pBsZE3562a/4xnzfe3P55g811hosvRZOeHThpmKhUu/OIZRy/2C8W 3j3bb5zpvdh0k9NaeNXJsz4TNCWbbj+JPFH8fnoGR/G7p3zTU7pF7kROP+AvFnN/6on9mk/Z Plm84l0zMU6/hOfKzq3s72/P8mFolf4mylCm82++y/I23iSFv75Zr9gZm8OVWIozEg21mIuK EwGaol/uuAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprALMWRmVeSWpSXmKPExsVy+t/xa7ri29JiDF7ME7PYOGM9q8X1L89Z LeZ9lrU4f34Du8Wmx9dYLWac38dksfbIXXaLzZumMjtweGxa1cnmcefaHjaPd+fOsXtsXlLv 0bdlFaPH501yAWxRXDYpqTmZZalF+nYJXBk/N1xkL/jKVXH3xC6mBsa5nF2MnBwSAiYSPV/u MXYxcnEICSxhlNjw/TIzhNPEJDHrcwMTSBWbgKFE19suNhBbRMBbYvKZv+wgRcwCPUwS7Vd/ s4MkhAWSJW7du8sKYrMIqEqceLoVzOYVsJXo6P/ABLFOXmL1hgPMIDangJ3EmjU9YLYQUM3l VQ8YJzDyLGBkWMUoklpanJueW2ykV5yYW1yal66XnJ+7iREYTtuO/dyyg7HrXfAhRgEORiUe 3hUZqTFCrIllxZW5hxglOJiVRHg516TFCPGmJFZWpRblxxeV5qQWH2KU5mBREuc9b1AZJSSQ nliSmp2aWpBaBJNl4uCUamCcOf3S4u8nNqvNl7l75TDrH9/HyVv+febd8uGDRZURk9/UqYo/ Gp5uliiP6tv9/wv/9HDpGFOGJ5KqkrfSPQTv8q/b6LrwgG/6lSOdVbWiwWE3+tZlxtZ+klac s2OBUXKCXsJdeyUet9prG/X6Oh+zTeMp9LzSvOTX342fmQKef7LhOJwWdsZOiaU4I9FQi7mo OBEAElZZyyMCAAA= X-CMS-MailID: 20190215125239eucas1p2da364c36dca63e0653362e1b4549027d CMS-TYPE: 201P X-CMS-RootMailID: 20190215125239eucas1p2da364c36dca63e0653362e1b4549027d References: <20190215125229.30180-1-m.szyprowski@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org While freeing interrupt handlers in error path, don't assume that all requested interrupts are per-processor interrupts and properly release standard interrupts too. Reported-by: Krzysztof Kozlowski Fixes: 56a94f13919c ("clocksource: exynos_mct: Avoid blocking calls in the cpu hotplug notifier") Signed-off-by: Marek Szyprowski Reviewed-by: Krzysztof Kozlowski Reviewed-by: Chanwoo Choi --- drivers/clocksource/exynos_mct.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) -- 2.17.1 diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c index ef18bbf8d20c..49413900b24c 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -561,7 +561,19 @@ static int __init exynos4_timer_resources(struct device_node *np, void __iomem * return 0; out_irq: - free_percpu_irq(mct_irqs[MCT_L0_IRQ], &percpu_mct_tick); + if (mct_int_type == MCT_INT_PPI) { + free_percpu_irq(mct_irqs[MCT_L0_IRQ], &percpu_mct_tick); + } else { + for_each_possible_cpu(cpu) { + struct mct_clock_event_device *pcpu_mevt = + per_cpu_ptr(&percpu_mct_tick, cpu); + + if (pcpu_mevt->evt.irq != -1) { + free_irq(pcpu_mevt->evt.irq, pcpu_mevt); + pcpu_mevt->evt.irq = -1; + } + } + } return err; }