[linux-pm] Re: 2.6.14 suspend fails with "Strange, firmware/dell_r not stopped"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux