Skip to content

Commit

Permalink
Revert "[POWERPC] Don't get PCI IRQ from OF for devices with no IRQ"
Browse files Browse the repository at this point in the history
This reverts commit 41550c5.

Quoth Ben Herrenschmidt:
 "Please revert this one for now.  It seems to break G5s :( Looks like
  PCI cells inside Apple IO ASICs don't have a PCI_INTERRUPT_LINE set.
  I need to figure out a better fix."

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Linus Torvalds committed Oct 8, 2006
1 parent 0bae89e commit e24bb60
Showing 1 changed file with 6 additions and 11 deletions.
17 changes: 6 additions & 11 deletions arch/powerpc/kernel/prom_parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -914,17 +914,6 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq)
u8 pin;
int rc;

/* We need to first check if the PCI device has a PCI interrupt at all
* since we have cases where the device-node might expose non-PCI
* interrupts, but the device has no PCI interrupt to it
*/
rc = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin);
if (rc != 0)
return rc;
/* No pin, exit */
if (pin == 0)
return -ENODEV;

/* Check if we have a device node, if yes, fallback to standard OF
* parsing
*/
Expand All @@ -936,6 +925,12 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq)
* interrupt spec. we assume #interrupt-cells is 1, which is standard
* for PCI. If you do different, then don't use that routine.
*/
rc = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin);
if (rc != 0)
return rc;
/* No pin, exit */
if (pin == 0)
return -ENODEV;

/* Now we walk up the PCI tree */
lspec = pin;
Expand Down

0 comments on commit e24bb60

Please sign in to comment.