Re: Oops when insmod rtl8192ce

From: John W. Linville
Date: Wed Jul 27 2011 - 10:02:31 EST


On Wed, Jul 27, 2011 at 05:20:15PM +0800, hubert Liao wrote:
> Hi,
>
> We got an oops when insmod rtl8192ce module (the board is an ARM soc),
> accroding the oops message, find it's because in rtl_pci_probe() called
> _rtl_pci_find_adapter(),
> in this funcation, the pdev->bus->self is a NULL pointer .
>
> static boot _rtl_pci_find_adapter(strcut pci_dev *dev,
> struct ieee80211_hw *hw)
> {
>
> struct pci_dev *bridge_pdev = pdev->bus->self; //line 1601
> ...
>
> pcipriv->ndis_adapter.pcibridge_vendorid = bridge_pdev->vendor; <-- [oops
> here] line 1700
>
> ...
> }
>
> here, I just want to know why the bus->self is NULL?

pdev is coming straight from what is passed to the PCI probe routine.
It seems like pdev->bus->self should already be set before that
happens.

Please open a bug at bugzilla.kernel.org to help us keep track of
this -- thanks!

John
--
John W. Linville Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx might be all we have. Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/