# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.547   -> 1.548  
#	  drivers/usb/uhci.c	1.28    -> 1.29   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/03/18	johannes@erdfelt.com	1.548
# [PATCH] uhci.c 2.4.19-pre3 interrupt deadlock
# 
# Unfortunately, I left out one line from my spinlock cleanup patch
# recently.
# 
# As a result, using interrupt URB's could cause a deadlock on SMP
# kernels.
# 
# This should fix the deadlock Greg reported.
# 
# JE
# --------------------------------------------
#
diff -Nru a/drivers/usb/uhci.c b/drivers/usb/uhci.c
--- a/drivers/usb/uhci.c	Wed Apr  3 16:40:04 2002
+++ b/drivers/usb/uhci.c	Wed Apr  3 16:40:04 2002
@@ -1662,6 +1662,7 @@
 		/* Interrupts are an exception */
 		if (urb->interval) {
 			uhci_add_complete(urb);
+			spin_unlock_irqrestore(&urb->lock, flags);
 			return;		/* <-- note return */
 		}
 
