From patchwork Fri Nov 30 18:43:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 152579 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp3989740ljp; Fri, 30 Nov 2018 10:43:13 -0800 (PST) X-Google-Smtp-Source: AFSGD/W1shtoD06h1v1AbEJ+C+s27KLH34Si9f7V9pVxXROiyb6ge80zQaltd0ogDLZU2yJ8Xn4C X-Received: by 2002:a17:902:6681:: with SMTP id e1-v6mr6598765plk.173.1543603393728; Fri, 30 Nov 2018 10:43:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543603393; cv=none; d=google.com; s=arc-20160816; b=zp1zcbWAjDRDlXOiWwKAm/L1kK8Be8jdvYf/Mz9n6rAqlKU3QOokviocbPhM1mWGvP AtBxIYic7zHJIkkidRS4VW+8cJS4RU3O+/pB8Ck/wIJqnyA9hWSRQq1GgaCVnUKrXc9P OdIYsDK2YhUqk5KMFq1fLmW5u9bSoG3Z+O0XNXMoCofo0XY6DVzvWf9GGAdBCNnwg2pC Edm4NQePbkdUaOiLIfQlzT2nTSdaYdUsV+COcsrN1i/MFSxa0a7dsl7xKZnE7pIRhRhH XGpUrSNE0lazGPSou0dxnXQoEnDT+sP/vuJbFmPMZZcnz60o7gamTTGtt2QSzDtr6mW2 iDag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=YQ8V65+iAbYCwafIxsu/qixXdC63ZH4JkQ5OQ19U4Gs=; b=KLZ35dDCvdgi7h2ejZjtdRkzgNlvwRsnm0d/dJuAInpWIbw+uNbWCKHFUOl8NPZG8s CiFwZSwsGqJEiMDMEifISpqalsVyWNAuwNEfIxZb+/qboAcNuUjU7TJpD/RIBt/lh6EP X/drC2hQFeWwOHyop6qaitMfgyFJjD5pqKBFZWhEXYBBHUrq2shH1FZ/4nqSTmdUHQM6 8xyAwvZTt+ENtO425EbhNEYfVPN2rdh1bO6pAKwp6BFwW4a6ec0CDjLjUtvMJk40BTCq NjY0eSj41pn4yLME63skf/7DKKZniByn7KFHbheAxOK1GHCMu+hHp9bVlzfP1y8fYjqi l62w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iF3DXd+2; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b18si5407846plz.105.2018.11.30.10.43.13; Fri, 30 Nov 2018 10:43:13 -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=@linaro.org header.s=google header.b=iF3DXd+2; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726798AbeLAFxX (ORCPT + 32 others); Sat, 1 Dec 2018 00:53:23 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:45452 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725817AbeLAFxW (ORCPT ); Sat, 1 Dec 2018 00:53:22 -0500 Received: by mail-pl1-f195.google.com with SMTP id a14so3203540plm.12 for ; Fri, 30 Nov 2018 10:43:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YQ8V65+iAbYCwafIxsu/qixXdC63ZH4JkQ5OQ19U4Gs=; b=iF3DXd+2Blda6rapqabTdvaXC2MzxGz9RMkey1xEMGRqu+T9w5m4YGfGPH7bRGrg9q HiXRadkTk23UznKu4S+xWuuNO6BtKV5M2tF3Ev+Hmd8TJKHzEHqP9h9CgVfl+JossOhM Pncvrrq6by1HknrOi47aKPXVs5HRLMbRO7sTo= 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:in-reply-to :references; bh=YQ8V65+iAbYCwafIxsu/qixXdC63ZH4JkQ5OQ19U4Gs=; b=VXb28StibzxmcA57Cin3ExFiJlxw7HNSy39egClgeYGt1mx4MZ+wO6gsfRPMoXdWPN 3XNAvRhFMJrWNIDcsTnhsoxFr1ZwMR26y+17zupibX9972nQUPn67EInQzrWbfcB/oby yndghepeuStmddBscNeNqQuUDiKTqPTuCmam2fHOdLDzYesjlyC2PWXm/NY+f5/FzMU+ +3AdXdXPKcZ6UT/5AHsjrx6sqW392UvQ2Bp6E2aQc7w7028rYV6YeH5FBNwzg9VIbDwV CJO5N9bjzPVAuNfq7Hnkc19ElNN2pwVPlSlOuPEJrsi3n3o3xPC1/5Mlr8YRJLU8bXfg +4Kg== X-Gm-Message-State: AA+aEWYyuUSSfApMlqu5U08OLJpvJAWZ94bQrmfa8z7tPb89Ef6Jna65 QFF/vM2gM24PucgKs5sxU3peL4y03e0= X-Received: by 2002:a17:902:59c8:: with SMTP id d8mr6794781plj.116.1543603390155; Fri, 30 Nov 2018 10:43:10 -0800 (PST) Received: from xps15.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [68.147.8.254]) by smtp.gmail.com with ESMTPSA id l184sm12743147pfc.112.2018.11.30.10.43.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 30 Nov 2018 10:43:09 -0800 (PST) From: Mathieu Poirier To: gregkh@linuxfoundation.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] coresight: tmc: Fix bad register address for CLAIM Date: Fri, 30 Nov 2018 11:43:02 -0700 Message-Id: <1543603387-32645-2-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1543603387-32645-1-git-send-email-mathieu.poirier@linaro.org> References: <1543603387-32645-1-git-send-email-mathieu.poirier@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Leo Yan Commit 4d3ebd3658d8 ("coreisght: tmc: Claim device before use") uses CLAIM tag to validate if the device is available, it needs to pass the device base address to access related registers. In the function tmc_etb_disable_hw() it wrongly passes the driver data pointer as register base address, thus it's easily to produce the kernel warning info like below: [ 83.579898] WARNING: CPU: 4 PID: 2970 at drivers/hwtracing/coresight/coresight.c:207 coresight_disclaim_device_unlocked+0x44/0x80 [ 83.591448] Modules linked in: [ 83.594485] CPU: 4 PID: 2970 Comm: uname Not tainted 4.19.0-rc6-00417-g721b509 #110 [ 83.602067] Hardware name: ARM Juno development board (r2) (DT) [ 83.607932] pstate: 80000085 (Nzcv daIf -PAN -UAO) [ 83.612681] pc : coresight_disclaim_device_unlocked+0x44/0x80 [ 83.618375] lr : coresight_disclaim_device_unlocked+0x44/0x80 [ 83.624064] sp : ffff00000fe3ba20 [ 83.627347] x29: ffff00000fe3ba20 x28: ffff80002d430dc0 [ 83.632618] x27: ffff800033177c00 x26: ffff80002eb44480 [ 83.637889] x25: 0000000000000001 x24: ffff800033c72600 [ 83.643160] x23: ffff0000099b11f8 x22: ffff0000099b11c8 [ 83.648430] x21: 0000000000000002 x20: ffff800033a90418 [ 83.653701] x19: ffff0000099b11c8 x18: 0000000000000000 [ 83.658971] x17: 0000000000000000 x16: 0000000000000000 [ 83.664241] x15: 0000000000000000 x14: 0000000000000000 [ 83.669511] x13: 0000000000000000 x12: 0000000000000000 [ 83.674782] x11: 0000000000000000 x10: 0000000000000000 [ 83.680052] x9 : 0000000000000000 x8 : 0000000000000001 [ 83.685322] x7 : 0000000000010000 x6 : ffff800033ebab18 [ 83.690593] x5 : ffff800033ebab18 x4 : ffff800033e6c698 [ 83.695862] x3 : 0000000000000001 x2 : 0000000000000000 [ 83.701133] x1 : 0000000000000000 x0 : 0000000000000001 [ 83.706404] Call trace: [ 83.708830] coresight_disclaim_device_unlocked+0x44/0x80 [ 83.714180] coresight_disclaim_device+0x34/0x48 [ 83.718756] tmc_disable_etf_sink+0xc4/0xf0 [ 83.722902] coresight_disable_path_from+0xc8/0x240 [ 83.727735] coresight_disable_path+0x24/0x30 [ 83.732053] etm_event_stop+0x130/0x170 [ 83.735854] etm_event_del+0x24/0x30 [ 83.739399] event_sched_out.isra.51+0xcc/0x1e8 [ 83.743887] group_sched_out.part.53+0x44/0xb0 [ 83.748291] ctx_sched_out+0x298/0x2b8 [ 83.752005] task_ctx_sched_out+0x74/0xa8 [ 83.755980] perf_event_exit_task+0x140/0x418 [ 83.760298] do_exit+0x3f4/0xcf0 [ 83.763497] do_group_exit+0x5c/0xc0 [ 83.767041] __arm64_sys_exit_group+0x24/0x28 [ 83.771359] el0_svc_common+0x110/0x178 [ 83.775160] el0_svc_handler+0x94/0xe8 [ 83.778875] el0_svc+0x8/0xc [ 83.781728] ---[ end trace 02d8d8eac46db9e5 ]--- This patch is to fix this bug by using 'drvdata->base' as the register base address for CLAIM related operation. Fixes: 4d3ebd3658d8 ("coreisght: tmc: Claim device before use") Cc: Suzuki Poulose Cc: Mathieu Poirier Cc: Mike Leach Cc: Robert Walker Signed-off-by: Leo Yan Reviewed-by: Suzuki K Poulose Signed-off-by: Mathieu Poirier --- drivers/hwtracing/coresight/coresight-tmc-etf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.4 diff --git a/drivers/hwtracing/coresight/coresight-tmc-etf.c b/drivers/hwtracing/coresight/coresight-tmc-etf.c index 53fc83b72a49..5864ac55e275 100644 --- a/drivers/hwtracing/coresight/coresight-tmc-etf.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etf.c @@ -86,7 +86,7 @@ static void __tmc_etb_disable_hw(struct tmc_drvdata *drvdata) static void tmc_etb_disable_hw(struct tmc_drvdata *drvdata) { - coresight_disclaim_device(drvdata); + coresight_disclaim_device(drvdata->base); __tmc_etb_disable_hw(drvdata); }