public inbox for linux-tegra@vger.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
Cc: Hiroshi DOYU <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC 1/1] Driver Core: don't oops with unregistered driver in driver_find_device()
Date: Thu, 10 May 2012 09:59:15 -0600	[thread overview]
Message-ID: <4FABE5D3.9040706@wwwdotorg.org> (raw)
In-Reply-To: <20120510141130.GA20373-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>

On 05/10/2012 08:11 AM, Greg Kroah-Hartman wrote:
> On Thu, May 10, 2012 at 10:35:02AM +0300, Hiroshi DOYU wrote:
>> driver_find_device() can be called with an unregistered driver.
> 
> Who does that?  Where in the kernel?  Why would you try to do that?
> 
>> Need to check driver_private to see if it's populated or not,
>> especially under deferrable probe.
> 
> Hm, I don't know if this will really catch a driver that was registered
> and then was unregistered, right?  It seems like moving the real problem
> somewhere else, why not fix the original issue instead?
> 
>> Signed-off-by: Hiroshi DOYU <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>> In [PATCHv5 2/3] ARM: tegra: Add SMMU enabler in AHB:
>>   http://article.gmane.org/gmane.linux.ports.tegra/4658
>>
>> "tegra_ahb_driver" may not be populated when it's called.
> 
> It can?  I don't see that in that patch.

I think this is what's happening:

The Tegra SMMU driver is registered using subsys_initcall().

The Tegra AHB driver is registered using module_platform_driver, so
module_init().

The device objects for both are registered at basically the same time
during the machine's initialization call, which I think happens before
both or some of the above two calls.

So, SMMU ends up getting probed before the AHB driver has even been
registered.

That's why in patch Hiroshi linked, in tegra_ahb_enable_smmu(), the AHB
driver hasn't (or may not have) been registered, so driver_find_device()
can experience the issue this patch attempts to solve.

  parent reply	other threads:[~2012-05-10 15:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-10  7:35 [RFC 1/1] Driver Core: don't oops with unregistered driver in driver_find_device() Hiroshi DOYU
     [not found] ` <1336635302-29260-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-10 14:11   ` Greg Kroah-Hartman
     [not found]     ` <20120510141130.GA20373-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-05-10 15:59       ` Stephen Warren [this message]
     [not found]         ` <4FABE5D3.9040706-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-10 18:16           ` Greg Kroah-Hartman
     [not found]             ` <20120510181611.GA16908-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-05-10 20:00               ` Stephen Warren
     [not found]                 ` <4FAC1E70.8030907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-10 22:28                   ` Greg Kroah-Hartman
     [not found]                     ` <20120510222830.GA23084-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-05-10 22:34                       ` Stephen Warren
     [not found]                         ` <4FAC4280.4000100-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-10 22:45                           ` Greg Kroah-Hartman
2012-05-11  8:03                           ` Hiroshi Doyu

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=4FABE5D3.9040706@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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