coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
authorSteve Clevenger <scclevenger@os.amperecomputing.com>
Mon, 27 Feb 2023 23:54:32 +0000 (16:54 -0700)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Tue, 21 Mar 2023 12:30:12 +0000 (12:30 +0000)
In etm4_enable_hw, fix for() loop range to represent address comparator pairs.

Fixes: 2e1cdfe184b5 ("coresight-etm4x: Adding CoreSight ETM4x driver")
Cc: stable@vger.kernel.org
Signed-off-by: Steve Clevenger <scclevenger@os.amperecomputing.com>
Reviewed-by: James Clark <james.clark@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/4a4ee61ce8ef402615a4528b21a051de3444fb7b.1677540079.git.scclevenger@os.amperecomputing.com
drivers/hwtracing/coresight/coresight-etm4x-core.c

index 1ea8f173cca0d9d4561fae5b2e885f581ff6f31c..104333c2c8a36935f1c072abb6b1493339e9560a 100644 (file)
@@ -472,7 +472,7 @@ static int etm4_enable_hw(struct etmv4_drvdata *drvdata)
                if (etm4x_sspcicrn_present(drvdata, i))
                        etm4x_relaxed_write32(csa, config->ss_pe_cmp[i], TRCSSPCICRn(i));
        }
-       for (i = 0; i < drvdata->nr_addr_cmp; i++) {
+       for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) {
                etm4x_relaxed_write64(csa, config->addr_val[i], TRCACVRn(i));
                etm4x_relaxed_write64(csa, config->addr_acc[i], TRCACATRn(i));
        }