Pavel Machek wrote: > Hi! > > >>suspending to ram or disk fails on 2.6.14, with >>CONFIG_DELL_RBU=y >> >>in logs i have : >> >>Stopping tasks: ============================== >> stopping tasks failed (1 tasks remaining) >>Restarting tasks...<6> Strange, firmware/dell_r not stopped >> done >> >>with CONFIG_DELL_RBU=n everything is fine > > > Apparently, DELL_RBU runs some kernel thread. Find a place in that > kernel thread where it is okay to sleep, and add try_to_freeze() > there. > > (Or forward this to dell rbu people.) > Pavel Thanks a lot for your quick answer and for the hint, after some investigation, it looks like it's not directly due to the dell_rbu driver but to firmware_class, when using request_firmware_nowait : dell_rbu -> request_firmware_nowait -> request_firmware_work_func (new kernel thread) -> _request_firmware -> wait_for_completion and there is no timeout when _request_firmware is called with hotplug disabled. I have added try_to_freeze() in the loop of wait_for_completion near the call to schedule but it didn't help... It's maybe unsafe to suspend while loading firmware this case should also be handled? Another issue is that the rbu driver updates the bios, once it is configured with the new binary it's probably unsafe to suspend because the kernel will resume on a different bios, i don't know much of the kernel/bios interactions but i guess it could be a buggy situation... cheers, Aurélien