Am Dienstag, 24. April 2007 21:47 schrieb Alan Stern:
> On Tue, 24 Apr 2007, Oliver Neukum wrote:
>
> > Hi,
> >
> > some drivers'll need a lockless method to alter the pm count in order
> > to take locks by themselves in correct order.
>
> (Minor comment: Acquiring the lock yourself to alter the pm count isn't
> quite the same as doing it locklessly.)
>
> Can you give an example where this would be needed? I can't think of one
> offhand.
Certainly. I need this to do autosuspend for the storage driver.
usb_suspend()
usb_pm_lock(udev)
usb_suspend_both(udev)
storage:
storage_suspend()
mutex_lock(&us->dev_mutex);
The storage thread:
usb_stor_control_thread()
mutex_lock(&(us->dev_mutex));
usb_autopm_get_interface()
AB <-> BA deadlock
Regards
Oliver
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel