From: David S. Miller Date: Tue, 16 Oct 2012 20:05:25 +0000 (-0700) Subject: sparc64: Fix bit twiddling in sparc_pmu_enable_event(). X-Git-Tag: v3.7-rc2~34^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e793d8c6740f8fe704fa216e95685f4d92c4c4b9;p=pandora-kernel.git sparc64: Fix bit twiddling in sparc_pmu_enable_event(). There was a serious disconnect in the logic happening in sparc_pmu_disable_event() vs. sparc_pmu_enable_event(). Event disable is implemented by programming a NOP event into the PCR. However, event enable was not reversing this operation. Instead, it was setting the User/Priv/Hypervisor trace enable bits. That's not sparc_pmu_enable_event()'s job, that's what sparc_pmu_enable() and sparc_pmu_disable() do . The intent of sparc_pmu_enable_event() is clear, since it first clear out the event type encoding field. So fix this by OR'ing in the event encoding rather than the trace enable bits. Signed-off-by: David S. Miller --- Reading git-diff-tree failed