summaryrefslogtreecommitdiff
path: root/drivers/bcma/driver_pci.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-07-04 09:12:50 +0200
committerTakashi Iwai <tiwai@suse.de>2012-07-04 09:12:50 +0200
commitf68d891d85c8f9ab1af663ed3ceac18ad58dbabe (patch)
treed92db7af512307ab5282eb62f3dd1741ac71d21f /drivers/bcma/driver_pci.c
parent5780b627e24113323427c102175296ae43dfb9d7 (diff)
parent3fd877d32cac31292628fb8f443543fc1989b49b (diff)
Merge branch 'topic/hda-beep' into topic/hda
Diffstat (limited to 'drivers/bcma/driver_pci.c')
-rw-r--r--drivers/bcma/driver_pci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/bcma/driver_pci.c b/drivers/bcma/driver_pci.c
index 9a96f14c8f47..c32ebd537abe 100644
--- a/drivers/bcma/driver_pci.c
+++ b/drivers/bcma/driver_pci.c
@@ -232,17 +232,19 @@ 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;
- if (core->bus->hosttype != BCMA_HOSTTYPE_PCI) {
+ if (!pc || core->bus->hosttype != BCMA_HOSTTYPE_PCI) {
/* This bcma device is not on a PCI host-bus. So the IRQs are
* not routed through the PCI core.
* So we must not enable routing through the PCI core. */
goto out;
}
+ pdev = pc->core->bus->host_pci;
+
err = pci_read_config_dword(pdev, BCMA_PCI_IRQMASK, &tmp);
if (err)
goto out;