[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 1 Jan 2012 11:17:52 -0500 (EST)
From: Alan Stern <stern@...land.harvard.edu>
To: Oliver Neukum <oliver@...kum.org>
cc: Matthew Garrett <mjg@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Dave Jones <davej@...hat.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Larry Finger <Larry.Finger@...inger.net>,
Chaoming Li <chaoming_li@...lsil.com.cn>,
"John W. Linville" <linville@...driver.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
USB list <linux-usb@...r.kernel.org>,
Linux Wireless List <linux-wireless@...r.kernel.org>
Subject: Re: loading firmware while usermodehelper disabled.
On Sun, 1 Jan 2012, Oliver Neukum wrote:
> Am Sonntag, 1. Januar 2012, 03:21:45 schrieb Alan Stern:
> > On Sat, 31 Dec 2011, Oliver Neukum wrote:
>
> > > We are definitely going through do_unbind_rebind(). But I don't think
> > > it matters why we got there. We seem to be calling probe() too early.
> > > And we need to guarantee that a driver can request firmware in probe()
> > >
> > > So something has changed in the resume code path further up.
> >
> > For at least a year and a half, it has been true that rebinding takes
>
> Yes, so I don't understand why we haven't been hitting this issue
> all that time.
Perhaps if Matthew compared logs from an old and a new system with
appropriate debugging options configured, something might show up.
> > place during the complete phase of system resume. Clearly that is too
> > early to load firmware. When do you think we should do it instead?
>
> I think we ought to delay until right after user space is unfrozen.
> The devices are gone anyway, so we lose nothing but have the ability
> to call helpers.
That's true. But doing it will be a nuisance. The nice thing about
the current situation is that the driver core automatically iterates
over all interfaces.
> > And how should we keep track of which interfaces need rebinding?
>
> I guess this calls for a brute force approach. We can kick khubd and have
> it walk all busses checking for needs_binding.
Ugh. At a minimum, let's use a different process, not khubd.
As Linus pointed out, the real problem here is the firmware loader.
The way it is now, a driver can't always depend on the data being
available, even during a normal boot. It ought to use an asynchronous
approach; then none of these problems would arise.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists