Re: loading firmware while usermodehelper disabled.

Oliver Neukum
2012-01-01T12:22:27Z

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.

> 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.

> 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.

> P.S.: Oliver, it looks like there's a bunch of dead code in
> usb_suspend_interface() and usb_resume_interface(). I don't see how
> either one can be executed with a driver that doesn't have both suspend
> and resume methods. Such cases should be filtered out when
> usb_suspend() calls do_unbind_rebind(). The only odd thing that can
> happen is when a driver doesn't support reset-resume. Do you agree?

I agree.

Regards
Oliver