From: Chris Metcalf Date: Tue, 17 May 2011 19:25:21 +0000 (-0400) Subject: arch/tile: allocate PCI IRQs later in boot X-Git-Tag: v2.6.39.2~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=646543453327a2b85083f4012d3bbeb5dabdabb8;p=thirdparty%2Fkernel%2Fstable.git arch/tile: allocate PCI IRQs later in boot 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c index ea38f0c9ec7cc..10732694fcc0d 100644 --- a/arch/tile/kernel/pci.c +++ b/arch/tile/kernel/pci.c @@ -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); /*