diff options
Diffstat (limited to 'kernel/irq/irqdesc.c')
-rw-r--r-- | kernel/irq/irqdesc.c | 8 |
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 | ||
953 | static 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) |