Re: wacom + runtime PM = AA deadlock
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2010-09-13 20:02:16
On Mon, 13 Sep 2010, Oliver Neukum wrote:
Am Montag, 13. September 2010, 17:17:54 schrieb Alan Stern:quoted
On Mon, 13 Sep 2010, Oliver Neukum wrote:quoted
PM in this driver looks broken. Please try this. In short you want to drop the PM reference and depend on remote wakeup and busy marking for this driver. Currently it gets a reference on every open() but never drops it. For locking you depend on the PM core's internal lock. You simply make sure you have a PM reference during open() and close()Is there any point in resuming the device during close() just in order to kill the interrupt URB? It seems counterproductive -- if the device had been suspended then there wouldn't be any interrupt URB to kill in the first place.Suppose the device does not support remote wakeup. It would never be autosuspended while it is open, but simply resetting the flag would never reach the PM layer.
Whoops, that's right. I didn't see the assignment to needs_remote_wakeup. How come wacom_open doesn't check to see if wacom->open is already set? Alan Stern