|
@@ -1696,15 +1696,17 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev,
|
|
|
pcipriv->ndis_adapter.devnumber = PCI_SLOT(pdev->devfn);
|
|
|
pcipriv->ndis_adapter.funcnumber = PCI_FUNC(pdev->devfn);
|
|
|
|
|
|
- /*find bridge info */
|
|
|
- pcipriv->ndis_adapter.pcibridge_vendorid = bridge_pdev->vendor;
|
|
|
- for (tmp = 0; tmp < PCI_BRIDGE_VENDOR_MAX; tmp++) {
|
|
|
- if (bridge_pdev->vendor == pcibridge_vendors[tmp]) {
|
|
|
- pcipriv->ndis_adapter.pcibridge_vendor = tmp;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
|
|
|
- ("Pci Bridge Vendor is found index: %d\n",
|
|
|
- tmp));
|
|
|
- break;
|
|
|
+ if (bridge_pdev) {
|
|
|
+ /*find bridge info if available */
|
|
|
+ pcipriv->ndis_adapter.pcibridge_vendorid = bridge_pdev->vendor;
|
|
|
+ for (tmp = 0; tmp < PCI_BRIDGE_VENDOR_MAX; tmp++) {
|
|
|
+ if (bridge_pdev->vendor == pcibridge_vendors[tmp]) {
|
|
|
+ pcipriv->ndis_adapter.pcibridge_vendor = tmp;
|
|
|
+ RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
|
|
|
+ ("Pci Bridge Vendor is found index:"
|
|
|
+ " %d\n", tmp));
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|