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
*/
* 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;