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;