bus: arm-ccn: Fix node->XP config conversion
authorPawel Moll <pawel.moll@arm.com>
Thu, 2 Apr 2015 17:50:32 +0000 (18:50 +0100)
committerPawel Moll <pawel.moll@arm.com>
Fri, 1 May 2015 16:50:58 +0000 (17:50 +0100)
Events defined as watchpoints on nodes must have their config values
converted so that they apply to the respective node's XP. The
function setting new values was using wrong mask for the "port" field,
resulting in corrupted value. Fixed now.

Cc: stable@vger.kernel.org # 3.17+
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
drivers/bus/arm-ccn.c

index aaa0f2a871185f139844b5fd682225a6160ba3d2..60397ec77ff7bbb31b6931a79f908a884896e290 100644 (file)
@@ -212,7 +212,7 @@ static int arm_ccn_node_to_xp_port(int node)
 
 static void arm_ccn_pmu_config_set(u64 *config, u32 node_xp, u32 type, u32 port)
 {
-       *config &= ~((0xff << 0) | (0xff << 8) | (0xff << 24));
+       *config &= ~((0xff << 0) | (0xff << 8) | (0x3 << 24));
        *config |= (node_xp << 0) | (type << 8) | (port << 24);
 }