[PATCH] bcma: fix null pointer in bcma_core_pci_irq_ctl
Arend van Spriel
arend at broadcom.com
Fri Jun 1 04:12:30 EDT 2012
On 05/31/2012 10:39 PM, Hauke Mehrtens wrote:
> pc could be null if hosttype != BCMA_HOSTTYPE_PCI.
> If we are on a device without a pci core this function is called with
> pc = null by b43 and brcmsmac. If the host type is PCI we have a pci
> core as well and pc can not be null.
>
> Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
> ---
> drivers/bcma/driver_pci.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/bcma/driver_pci.c b/drivers/bcma/driver_pci.c
> index 9a96f14..884b7af 100644
> --- a/drivers/bcma/driver_pci.c
> +++ b/drivers/bcma/driver_pci.c
> @@ -232,7 +232,7 @@ void __devinit bcma_core_pci_init(struct bcma_drv_pci *pc)
> int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, struct bcma_device *core,
> bool enable)
> {
> - struct pci_dev *pdev = pc->core->bus->host_pci;
> + struct pci_dev *pdev;
> u32 coremask, tmp;
> int err = 0;
>
> @@ -243,6 +243,8 @@ int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, struct bcma_device *core,
Could you change the if statement as well:
- if (core->bus->hosttype != BCMA_HOSTTYPE_PCI) {
+ if (!pc || core->bus->hosttype != BCMA_HOSTTYPE_PCI)
> goto out;
- }
>
> + pdev = pc->core->bus->host_pci;
> +
> err = pci_read_config_dword(pdev, BCMA_PCI_IRQMASK, &tmp);
> if (err)
> goto out;
Gr. AvS
More information about the b43-dev
mailing list