summaryrefslogtreecommitdiffstats
path: root/kernel/irq/irqdesc.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/irqdesc.c')
-rw-r--r--kernel/irq/irqdesc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index a92b33593b8d..9484e88dabc2 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -950,6 +950,11 @@ unsigned int kstat_irqs_cpu(unsigned int irq, int cpu)
950 *per_cpu_ptr(desc->kstat_irqs, cpu) : 0; 950 *per_cpu_ptr(desc->kstat_irqs, cpu) : 0;
951} 951}
952 952
953static bool irq_is_nmi(struct irq_desc *desc)
954{
955 return desc->istate & IRQS_NMI;
956}
957
953/** 958/**
954 * kstat_irqs - Get the statistics for an interrupt 959 * kstat_irqs - Get the statistics for an interrupt
955 * @irq: The interrupt number 960 * @irq: The interrupt number
@@ -967,7 +972,8 @@ unsigned int kstat_irqs(unsigned int irq)
967 if (!desc || !desc->kstat_irqs) 972 if (!desc || !desc->kstat_irqs)
968 return 0; 973 return 0;
969 if (!irq_settings_is_per_cpu_devid(desc) && 974 if (!irq_settings_is_per_cpu_devid(desc) &&
970 !irq_settings_is_per_cpu(desc)) 975 !irq_settings_is_per_cpu(desc) &&
976 !irq_is_nmi(desc))
971 return desc->tot_count; 977 return desc->tot_count;
972 978
973 for_each_possible_cpu(cpu) 979 for_each_possible_cpu(cpu)