Skip to content

Commit

Permalink
[ARM] CATS: Do not try and map bad PCI IRQ numbers
Browse files Browse the repository at this point in the history
The cats_map_irq() function in the Simtec CATS support
code is mapping IRQ 255 (invalid IRQ) into what is a
supposedly valid interrupt numner which can cause problems
with other devices then seeing an interrupt they cannot
claim.

If the IRQ number if >= 255, then return -1 as this is not
something we can map.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
  • Loading branch information
Ben Dooks committed Aug 9, 2008
1 parent 2921047 commit e38d523
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm/mach-footbridge/cats-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 };

static int __init cats_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
if (dev->irq >= 255)
return -1; /* not a valid interrupt. */

if (dev->irq >= 128)
return dev->irq & 0x1f;

Expand Down

0 comments on commit e38d523

Please sign in to comment.