+ powerpc-revert-dont-get-pci-irq-from-of-for-devices-with-no-irq.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     powerpc: revert "Don't get PCI IRQ from OF for devices with no IRQ"

has been added to the -mm tree.  Its filename is

     powerpc-revert-dont-get-pci-irq-from-of-for-devices-with-no-irq.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: powerpc: revert "Don't get PCI IRQ from OF for devices with no IRQ"
From: Olaf Hering <olaf@xxxxxxxxx>

Linus tree will boot ok with the change below.

 Revert commit 41550c5128150175197257b6ceab2cd50dea7b51
 'powerpc: Don't get PCI IRQ from OF for devices with no IRQ'

IDE is probed twice on G5, there is IRQ 0 assigned to it.
SATA will not work either because there is no interrupt assigned to it.

Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/powerpc/kernel/prom_parse.c |   17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff -puN arch/powerpc/kernel/prom_parse.c~powerpc-revert-dont-get-pci-irq-from-of-for-devices-with-no-irq arch/powerpc/kernel/prom_parse.c
--- a/arch/powerpc/kernel/prom_parse.c~powerpc-revert-dont-get-pci-irq-from-of-for-devices-with-no-irq
+++ a/arch/powerpc/kernel/prom_parse.c
@@ -914,17 +914,6 @@ int of_irq_map_pci(struct pci_dev *pdev,
 	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
 	 */
@@ -936,6 +925,12 @@ int of_irq_map_pci(struct pci_dev *pdev,
 	 * 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;
_

Patches currently in -mm which might be from olaf@xxxxxxxxx are

origin.patch
revert-nvidiafb-use-generic-ddc-reading.patch
powerpc-revert-dont-get-pci-irq-from-of-for-devices-with-no-irq.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux