--- /dev/null
+--- a/drivers/bcma/driver_pci.c
++++ b/drivers/bcma/driver_pci.c
+@@ -232,7 +232,7 @@ void __devinit bcma_core_pci_init(struct
+ 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_dr
+               goto out;
+       }
+ 
++      pdev = pc->core->bus->host_pci;
++
+       err = pci_read_config_dword(pdev, BCMA_PCI_IRQMASK, &tmp);
+       if (err)
+               goto out;