]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arch/tile: allocate PCI IRQs later in boot
authorChris Metcalf <cmetcalf@tilera.com>
Tue, 17 May 2011 19:25:21 +0000 (15:25 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 23 Jun 2011 22:05:32 +0000 (15:05 -0700)
commit f4de51de2edcd26ec77bfc71b1f00b1de5a5dc20 upstream.

This change became required due to some recent reworking in the
platform-independent IRQ code.  It is required for 2.6.38 and later.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/tile/kernel/pci.c

index ea38f0c9ec7cc776f4bdeddfd7e8371e224166e4..10732694fcc0db9dae6a7e6d2a08fd2eb4ec6bfe 100644 (file)
@@ -179,12 +179,6 @@ int __init tile_pci_init(void)
 
                controller = &controllers[num_controllers];
 
-               if (tile_init_irqs(i, controller)) {
-                       pr_err("PCI: Could not initialize "
-                              "IRQs, aborting.\n");
-                       goto err_cont;
-               }
-
                controller->index = num_controllers;
                controller->hv_cfg_fd[0] = hv_cfg_fd0;
                controller->hv_cfg_fd[1] = hv_cfg_fd1;
@@ -300,6 +294,11 @@ static int __init pcibios_init(void)
                struct pci_controller *controller = &controllers[i];
                struct pci_bus *bus;
 
+               if (tile_init_irqs(i, controller)) {
+                       pr_err("PCI: Could not initialize IRQS\n");
+                       continue;
+               }
+
                pr_info("PCI: initializing controller #%d\n", i);
 
                /*