]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] uhci.c 2.4.19-pre3 interrupt deadlock
authorJohannes Erdfelt <johannes@erdfelt.com>
Mon, 18 Mar 2002 15:47:10 +0000 (07:47 -0800)
committerGreg Kroah-Hartman <greg@kroah.com>
Mon, 18 Mar 2002 15:47:10 +0000 (07:47 -0800)
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

drivers/usb/uhci.c

index 555e6eb50fa3ee86dc76b4bef909095126a297d7..8f6199c6a739e0855d64a7f727bf2bd62510704a 100644 (file)
@@ -1662,6 +1662,7 @@ static void uhci_transfer_result(struct uhci *uhci, struct urb *urb)
                /* Interrupts are an exception */
                if (urb->interval) {
                        uhci_add_complete(urb);
+                       spin_unlock_irqrestore(&urb->lock, flags);
                        return;         /* <-- note return */
                }