public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger•net>
To: hubert Liao <liao.hubertt@gmail•com>
Cc: "John W. Linville" <linville@tuxdriver•com>,
	wlanfae@realtek•com, Chaoming Li <chaoming_li@realsil•com.cn>,
	linux-wireless@vger•kernel.org, netdev@vger•kernel.org,
	linux-kernel@vger•kernel.org
Subject: Re: Oops when insmod rtl8192ce
Date: Thu, 28 Jul 2011 09:56:15 -0500	[thread overview]
Message-ID: <4E31788F.7000307@lwfinger.net> (raw)
In-Reply-To: <CAMzZzFH8xBdiEN-rV1XE-1ZhFbzO_tcnA75Hpx_AyJ6LtWq01A@mail.gmail.com>

On 07/28/2011 02:06 AM, hubert Liao wrote:
> 2011/7/27 John W. Linville<linville@tuxdriver•com>:
>> 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.
>>
> Yes, I think it should be initialized when added the pci bus bridge,
> I have checked the mach-kirkwood(my board is arch/arm/mach-kirkwood)
> pcie related code, and I think when system initialized should call
> kirkwood_pcie_init() ->
>              kirkwood_pcie_scan_bus() ->
>                             pci_scan_bus() ->
>                                      pci_bus_add_devices()
> if the pci_bus->self  was initialized in pci_bus_add_devices()?
> Maybe the code is too complex for me ,  I really can not find where
> set the “->self" member?

I added a request to the bugzilla entry to post the full dmesg output there. 
Perhaps there is some clue in the bus setup.

Larry

  reply	other threads:[~2011-07-28 14:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAMzZzFGqPv6Nbw8J8JGNKcLA76sAs3oD6+hH9NPCjwA33fYpOQ@mail.gmail.com>
2011-07-27  9:26 ` Oops when insmod rtl8192ce hubert Liao
     [not found]   ` <CAMzZzFGpDiFAhsLAb+SQxjbGMzBoOStF_Lr7Eb3PT6Drcf=VdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-07-27 14:37     ` Larry Finger
     [not found]       ` <4E302299.2070309-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2011-07-28  1:21         ` hubert Liao
     [not found] ` <CAMzZzFGqPv6Nbw8J8JGNKcLA76sAs3oD6+hH9NPCjwA33fYpOQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-07-27 13:53   ` John W. Linville
2011-07-28  7:06     ` hubert Liao
2011-07-28 14:56       ` Larry Finger [this message]
2011-07-29  1:21         ` Hubert Liao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E31788F.7000307@lwfinger.net \
    --to=larry.finger@lwfinger$(echo .)net \
    --cc=chaoming_li@realsil$(echo .)com.cn \
    --cc=liao.hubertt@gmail$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-wireless@vger$(echo .)kernel.org \
    --cc=linville@tuxdriver$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=wlanfae@realtek$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox