diff options
author | Denys Drozdov <denys.drozdov@toradex.com> | 2021-01-28 13:42:43 +0000 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2021-02-22 18:34:26 +0100 |
commit | 20cb5e84342dc0c9c56f5cea3e97af44070ce820 (patch) | |
tree | 28d46871ebc32307c6be27515291159bdc06387e /recipes-kernel/linux/linux-toradex-5.4-2.3.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch | |
parent | effd05d0d0bb092e04b1c8ca805c4932bdf638c1 (diff) |
linux-toradex: change kernel recipe to linux-toradex_5.4-2.3.x.bb
Switch to linux-toradex branch toradex_5.4-2.3.x-imx
Related-to: ELB-3513, ELB-3515, ELB-3509
Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
(cherry picked from commit 93c2fe20206766c424a4d6d879045bbbe8a56479)
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-5.4-2.3.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch')
-rw-r--r-- | recipes-kernel/linux/linux-toradex-5.4-2.3.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-5.4-2.3.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch b/recipes-kernel/linux/linux-toradex-5.4-2.3.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch new file mode 100644 index 0000000..9296878 --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-5.4-2.3.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch @@ -0,0 +1,34 @@ +From 066e66d9222f70d3e21a7df077ac6b623881c9cc Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Tue, 24 Sep 2019 14:19:24 +0200 +Subject: [PATCH 2/2] ddr-perf: prevent BUG() with rt patch + +With the RT patch applied the kernel prints a BUG backtrace during boot: + +| BUG: using smp_processor_id() in preemptible [00000000] code: swapper/0/1 + +Prevent this by replacing the smp_processor_id() call with a get_cpu() .. +put_cpu() construct. + +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + drivers/perf/ddr-perf.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/perf/ddr-perf.c b/drivers/perf/ddr-perf.c +index 73fe52ee8b95..744a6454d6a4 100644 +--- a/drivers/perf/ddr-perf.c ++++ b/drivers/perf/ddr-perf.c +@@ -470,7 +470,8 @@ static int ddr_perf_probe(struct platform_device *pdev) + + pmu->devtype = (struct fsl_ddr_devtype_data *)of_id->data; + +- cpumask_set_cpu(smp_processor_id(), &pmu->cpu); ++ cpumask_set_cpu(get_cpu(), &pmu->cpu); ++ put_cpu(); + ret = perf_pmu_register(&(pmu->pmu), name, -1); + if (ret) + goto ddr_perf_err; +-- +2.20.1 + |