if (!x86_pmu.lbr_nr)
return;
- WARN_ON(cpuc->enabled);
+ WARN_ON_ONCE(cpuc->enabled);
/*
* Reset the LBR stack if this is the first LBR user or
return;
cpuc->lbr_users--;
-
BUG_ON(cpuc->lbr_users < 0);
- WARN_ON(cpuc->enabled);
+
+ if (cpuc->enabled && !cpuc->lbr_users)
+ __intel_pmu_lbr_disable();
}
static void intel_pmu_lbr_enable_all(void)