diff options
Diffstat (limited to 'arch/arm/common/gic.c')
| -rw-r--r-- | arch/arm/common/gic.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index f0783be17352..aa5269984187 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c | |||
| @@ -686,13 +686,12 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start, | |||
| 686 | * For primary GICs, skip over SGIs. | 686 | * For primary GICs, skip over SGIs. |
| 687 | * For secondary GICs, skip over PPIs, too. | 687 | * For secondary GICs, skip over PPIs, too. |
| 688 | */ | 688 | */ |
| 689 | hwirq_base = 32; | 689 | if (gic_nr == 0 && (irq_start & 31) > 0) { |
| 690 | if (gic_nr == 0) { | 690 | hwirq_base = 16; |
| 691 | if ((irq_start & 31) > 0) { | 691 | if (irq_start != -1) |
| 692 | hwirq_base = 16; | 692 | irq_start = (irq_start & ~31) + 16; |
| 693 | if (irq_start != -1) | 693 | } else { |
| 694 | irq_start = (irq_start & ~31) + 16; | 694 | hwirq_base = 32; |
| 695 | } | ||
| 696 | } | 695 | } |
| 697 | 696 | ||
| 698 | /* | 697 | /* |
