diff options
-rw-r--r-- | arch/x86/oprofile/nmi_int.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c index 9f001d904599..24582040b718 100644 --- a/arch/x86/oprofile/nmi_int.c +++ b/arch/x86/oprofile/nmi_int.c | |||
@@ -95,7 +95,10 @@ static void nmi_cpu_save_registers(struct op_msrs *msrs) | |||
95 | static void nmi_cpu_start(void *dummy) | 95 | static void nmi_cpu_start(void *dummy) |
96 | { | 96 | { |
97 | struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); | 97 | struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); |
98 | model->start(msrs); | 98 | if (!msrs->controls) |
99 | WARN_ON_ONCE(1); | ||
100 | else | ||
101 | model->start(msrs); | ||
99 | } | 102 | } |
100 | 103 | ||
101 | static int nmi_start(void) | 104 | static int nmi_start(void) |
@@ -107,7 +110,10 @@ static int nmi_start(void) | |||
107 | static void nmi_cpu_stop(void *dummy) | 110 | static void nmi_cpu_stop(void *dummy) |
108 | { | 111 | { |
109 | struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); | 112 | struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); |
110 | model->stop(msrs); | 113 | if (!msrs->controls) |
114 | WARN_ON_ONCE(1); | ||
115 | else | ||
116 | model->stop(msrs); | ||
111 | } | 117 | } |
112 | 118 | ||
113 | static void nmi_stop(void) | 119 | static void nmi_stop(void) |