diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi/pci.c')
| -rw-r--r-- | drivers/net/wireless/rtlwifi/pci.c | 20 | 
1 files changed, 11 insertions, 9 deletions
| diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c index 5efd57833489..56f12358389d 100644 --- a/drivers/net/wireless/rtlwifi/pci.c +++ b/drivers/net/wireless/rtlwifi/pci.c @@ -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; +			}  		}  	} | 
