On Sat, 2 Dec 2006, Pavel Machek wrote:

> Hi!
> 
> > > We send fake signals to them, so they enter get_signal_to_deliver() and 
> > > they
> > > call try_to_freeze() from there.
> > 
> > Well then, see, you're doing exactly what you said should never happen --
> > you are freezing a user thread while it might be holding a lock that the
> > unfreezable usb-storage thread needs.
> 
> 
> I do not think it is okay to call get_signal_to_deliver with *any*
> lock held... Or do you have example when that is broken?

Is get_signal_to_deliver() ever called at any time other than when the CPU 
is about to switch back into user mode?  If not then there shouldn't be 
any problem.  The routines I was talking about earlier hold the USB device 
locks while running in kernel mode, but they release them before returning 
to user mode.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to