ChangeSet 1.1608.84.16, 2004/03/10 12:20:24-08:00, oliver@neukum.org [PATCH] USB: locking fix for pid.c you forgot to drop a spinlock before you report an error. A deadlock will occur. drivers/usb/input/pid.c | 1 + 1 files changed, 1 insertion(+) diff -Nru a/drivers/usb/input/pid.c b/drivers/usb/input/pid.c --- a/drivers/usb/input/pid.c Tue Mar 16 15:02:53 2004 +++ b/drivers/usb/input/pid.c Tue Mar 16 15:02:53 2004 @@ -200,6 +200,7 @@ break; if ( id == FF_EFFECTS_MAX) { + spin_unlock_irqrestore(&pid_private->lock,flags); // TEMP - We need to get ff_effects_max correctly first: || id >= dev->ff_effects_max) { dev_dbg(&pid_private->hid->dev->dev, "Not enough device memory\n"); return -ENOMEM;