diff options
Diffstat (limited to 'arch/powerpc/sysdev')
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 8619f2a3f1f6..466e2183e86c 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -1144,9 +1144,12 @@ struct mpic * __init mpic_alloc(struct device_node *node, | |||
1144 | mpic->num_cpus = ((greg_feature & MPIC_GREG_FEATURE_LAST_CPU_MASK) | 1144 | mpic->num_cpus = ((greg_feature & MPIC_GREG_FEATURE_LAST_CPU_MASK) |
1145 | >> MPIC_GREG_FEATURE_LAST_CPU_SHIFT) + 1; | 1145 | >> MPIC_GREG_FEATURE_LAST_CPU_SHIFT) + 1; |
1146 | if (isu_size == 0) | 1146 | if (isu_size == 0) |
1147 | mpic->num_sources = | 1147 | if (flags & MPIC_BROKEN_FRR_NIRQS) |
1148 | ((greg_feature & MPIC_GREG_FEATURE_LAST_SRC_MASK) | 1148 | mpic->num_sources = mpic->irq_count; |
1149 | >> MPIC_GREG_FEATURE_LAST_SRC_SHIFT) + 1; | 1149 | else |
1150 | mpic->num_sources = | ||
1151 | ((greg_feature & MPIC_GREG_FEATURE_LAST_SRC_MASK) | ||
1152 | >> MPIC_GREG_FEATURE_LAST_SRC_SHIFT) + 1; | ||
1150 | 1153 | ||
1151 | /* Map the per-CPU registers */ | 1154 | /* Map the per-CPU registers */ |
1152 | for (i = 0; i < mpic->num_cpus; i++) { | 1155 | for (i = 0; i < mpic->num_cpus; i++) { |