> > The problem is ipw2100 requires an external on-disk firmware support. When
> > the device is put to D3 state, firmware needs to be unloaded. And the
> > firmware should be loaded again after the device is put to D0 state. But
> > currently there is no suspend/resume order(dependency) for the online
> > devices list in the kernel (dpm_active). So the ide disk might still be in
> > the suspend state when ipw2100->resume is called. This causes a deadlock.
> > Note here the ipw2100 can be any driver that requires a firmware.
>
> There are USB devices like this too.
>
> My feeling is that the kernel should _not_ save the firmware during a D3
> suspend. When the resume takes place the device should be unregistered
> and subsequently reprobed. Then the firmware can be loaded again by the
> same mechanism that loaded it in the first place.
That would deadlock. There's no user space at resumption. If you do
not restore firmware at resumption you'll kill mounted filesystems and
everything that has files mmapped. Segfaulting running tasks is _not_
allowed.
Regards
Oliver
PS: Shouldn't this be discussed on lkml?
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel