Re: loading firmware while usermodehelper disabled.
From: Oliver Neukum <oliver@neukum.org>
Date: 2012-01-01 12:22:27
Also in:
lkml
Am Sonntag, 1. Januar 2012, 03:21:45 schrieb Alan Stern:
On Sat, 31 Dec 2011, Oliver Neukum wrote:
quoted
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