diff options
author | avg <avg@FreeBSD.org> | 2016-11-17 15:14:54 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2016-11-17 15:14:54 +0000 |
commit | f186f04b5bb308d6fe68abdea8a15ddc9aa0919b (patch) | |
tree | dfa79fc678c77330062e42aeb62d6bacfa86c1f7 | |
parent | b52cce842a0f41ac281db90973aa9d830cd6993c (diff) | |
download | FreeBSD-src-f186f04b5bb308d6fe68abdea8a15ddc9aa0919b.zip FreeBSD-src-f186f04b5bb308d6fe68abdea8a15ddc9aa0919b.tar.gz |
MFC r308101: hwpmc: fix a race between amd_stop_pmc and amd_intr
-rw-r--r-- | sys/dev/hwpmc/hwpmc_amd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index 14d708a..7221071 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -689,12 +689,13 @@ amd_intr(int cpu, struct trapframe *tf) error = pmc_process_interrupt(cpu, PMC_HR, pm, tf, TRAPF_USERMODE(tf)); if (error == 0) - wrmsr(evsel, config | AMD_PMC_ENABLE); + wrmsr(evsel, config); } atomic_add_int(retval ? &pmc_stats.pm_intr_processed : &pmc_stats.pm_intr_ignored, 1); + PMCDBG1(MDP,INT,2, "retval=%d", retval); return (retval); } |