Re: [PATCH] bcma: fix null pointer in bcma_core_pci_irq_ctl
From: Arend van Spriel <hidden>
Date: 2012-06-01 08:12:46
On 05/31/2012 10:39 PM, Hauke Mehrtens wrote:
quoted hunk ↗ jump to hunk
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@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