arch/tile: allocate PCI IRQs later in boot
authorChris Metcalf <cmetcalf@tilera.com>
Tue, 17 May 2011 19:25:21 +0000 (15:25 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Fri, 20 May 2011 02:56:05 +0000 (22:56 -0400)
This change became required due to some recent reworking in the
platform-independent IRQ code.  It is required for 2.6.38 and later.

Cc: stable@kernel.org
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/kernel/pci.c

index 65add0270bb6a787878b34b501db55474dd2c6b2..6d4cb5d7a9fd0da47f0f78235c44072c310e57ba 100644 (file)
@@ -188,12 +188,6 @@ int __devinit tile_pci_init(void)
 
                        controller = &controllers[i];
 
-                       if (tile_init_irqs(i, controller)) {
-                               pr_err("PCI: Could not initialize "
-                                      "IRQs, aborting.\n");
-                               goto err_cont;
-                       }
-
                        controller->index = i;
                        controller->hv_cfg_fd[0] = hv_cfg_fd0;
                        controller->hv_cfg_fd[1] = hv_cfg_fd1;
@@ -316,6 +310,11 @@ int __devinit 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);
 
                        /*