[PATCH] PCI: portdrv: fix irq initialization on FSL pcie host controller

Xu Lei B33228 at freescale.com
Thu Apr 28 18:01:11 EST 2011


	Any feedback on this patch? Thanks.

On Friday, 2011-04-22 at 15:43 +0800, Lei Xu wrote:
> Root complex ports for Freescale PCIe host controller only receive
> interrupts, so if there is no irq setting for RC, it should not return
> error, otherwise it may result the PCIe host controller is disabled.
> 
> Signed-off-by: Lei Xu <B33228 at freescale.com>
> ---
>  drivers/pci/pcie/portdrv_core.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
> index 595654a..95e64c8 100644
> --- a/drivers/pci/pcie/portdrv_core.c
> +++ b/drivers/pci/pcie/portdrv_core.c
> @@ -209,7 +209,10 @@ static int init_service_irqs(struct pci_dev *dev, int *irqs, int mask)
>  		irqs[i] = irq;
>  	irqs[PCIE_PORT_SERVICE_VC_SHIFT] = -1;
>  
> -	if (irq < 0)
> +	/* Root complex ports for Freescale PCIe host controller only
> +	 * receive interrupts, so if there is no irq setting for RC,
> +	 * it should not return error. */
> +	if ((irq < 0) && (dev->pcie_type != PCI_EXP_TYPE_ROOT_PORT))
>  		return -ENODEV;
>  	return 0;
>  }

-- 
Regards

Lei




More information about the Linuxppc-dev mailing list