Skip to content

Commit

Permalink
[PATCH] pci: bcm43xx avoid pci_find_device
Browse files Browse the repository at this point in the history
bcm43xx avoid pci_find_device

Change pci_find_device to safer pci_get_device with support for more
devices.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Jiri Slaby authored and John W. Linville committed Jun 15, 2006
1 parent 91769e7 commit 12a3768
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions drivers/net/wireless/bcm43xx/bcm43xx_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2146,6 +2146,13 @@ static int bcm43xx_upload_initvals(struct bcm43xx_private *bcm)
return err;
}

#ifdef CONFIG_BCM947XX
static struct pci_device_id bcm43xx_47xx_ids[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
{ 0 }
};
#endif

static int bcm43xx_initialize_irq(struct bcm43xx_private *bcm)
{
int res;
Expand All @@ -2155,11 +2162,15 @@ static int bcm43xx_initialize_irq(struct bcm43xx_private *bcm)
bcm->irq = bcm->pci_dev->irq;
#ifdef CONFIG_BCM947XX
if (bcm->pci_dev->bus->number == 0) {
struct pci_dev *d = NULL;
/* FIXME: we will probably need more device IDs here... */
d = pci_find_device(PCI_VENDOR_ID_BROADCOM, 0x4324, NULL);
if (d != NULL) {
bcm->irq = d->irq;
struct pci_dev *d;
struct pci_device_id *id;
for (id = bcm43xx_47xx_ids; id->vendor; id++) {
d = pci_get_device(id->vendor, id->device, NULL);
if (d != NULL) {
bcm->irq = d->irq;
pci_dev_put(d);
break;
}
}
}
#endif
Expand Down

0 comments on commit 12a3768

Please sign in to comment.