# 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 */ }