From: Mathieu Poirier <mathieu.poirier@linaro.org> To: Leo Yan <leo.yan@linaro.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, linux-arm-kernel <linux-arm-kernel@lists.infradead.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, coresight@lists.linaro.org, "Suzuki K. Poulose" <suzuki.poulose@arm.com>, Mike Leach <mike.leach@linaro.org>, Robert Walker <robert.walker@arm.com> Subject: Re: [PATCH] coresight: tmc: Fix bad register address for CLAIM Date: Fri, 19 Oct 2018 09:47:29 -0600 [thread overview] Message-ID: <CANLsYkzb_40ODVF5Mh7i3urEaq769drifjC+KWH+cgKR9L9a5g@mail.gmail.com> (raw) In-Reply-To: <1539924983-18503-1-git-send-email-leo.yan@linaro.org> On Thu, 18 Oct 2018 at 22:56, Leo Yan <leo.yan@linaro.org> wrote: > > 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 <suzuki.poulose@arm.com> > Cc: Mathieu Poirier <mathieu.poirier@linaro.org> > Cc: Mike Leach <mike.leach@linaro.org> > Cc: Robert Walker <robert.walker@arm.com> > Signed-off-by: Leo Yan <leo.yan@linaro.org> > --- > drivers/hwtracing/coresight/coresight-tmc-etf.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwtracing/coresight/coresight-tmc-etf.c b/drivers/hwtracing/coresight/coresight-tmc-etf.c > index 53fc83b..5864ac5 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); > } > Applied - thanks. Mathieu > -- > 2.7.4 >
WARNING: multiple messages have this Message-ID (diff)
From: mathieu.poirier@linaro.org (Mathieu Poirier) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] coresight: tmc: Fix bad register address for CLAIM Date: Fri, 19 Oct 2018 09:47:29 -0600 [thread overview] Message-ID: <CANLsYkzb_40ODVF5Mh7i3urEaq769drifjC+KWH+cgKR9L9a5g@mail.gmail.com> (raw) In-Reply-To: <1539924983-18503-1-git-send-email-leo.yan@linaro.org> On Thu, 18 Oct 2018 at 22:56, Leo Yan <leo.yan@linaro.org> wrote: > > 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 <suzuki.poulose@arm.com> > Cc: Mathieu Poirier <mathieu.poirier@linaro.org> > Cc: Mike Leach <mike.leach@linaro.org> > Cc: Robert Walker <robert.walker@arm.com> > Signed-off-by: Leo Yan <leo.yan@linaro.org> > --- > drivers/hwtracing/coresight/coresight-tmc-etf.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwtracing/coresight/coresight-tmc-etf.c b/drivers/hwtracing/coresight/coresight-tmc-etf.c > index 53fc83b..5864ac5 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); > } > Applied - thanks. Mathieu > -- > 2.7.4 >
next prev parent reply other threads:[~2018-10-19 15:47 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-10-19 4:56 [PATCH] coresight: tmc: Fix bad register address for CLAIM Leo Yan 2018-10-19 4:56 ` Leo Yan 2018-10-19 8:39 ` Suzuki K Poulose 2018-10-19 8:39 ` Suzuki K Poulose 2018-10-19 15:47 ` Mathieu Poirier [this message] 2018-10-19 15:47 ` Mathieu Poirier
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CANLsYkzb_40ODVF5Mh7i3urEaq769drifjC+KWH+cgKR9L9a5g@mail.gmail.com \ --to=mathieu.poirier@linaro.org \ --cc=alexander.shishkin@linux.intel.com \ --cc=coresight@lists.linaro.org \ --cc=leo.yan@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mike.leach@linaro.org \ --cc=robert.walker@arm.com \ --cc=suzuki.poulose@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.