usb: ehci: fix deadlock when threadirqs option is used
authorStanislaw Gruszka <sgruszka@redhat.com>
Wed, 19 Feb 2014 09:29:01 +0000 (10:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Feb 2014 23:46:42 +0000 (15:46 -0800)
commita1227f3c1030e96ebc51d677d2f636268845c5fb
treea886ebd7fb7102a20de3a9fca88bee7efc3f8794
parent6dbd46c849e071e6afc1e0cad489b0175bca9318
usb: ehci: fix deadlock when threadirqs option is used

ehci_irq() and ehci_hrtimer_func() can deadlock on ehci->lock when
threadirqs option is used. To prevent the deadlock use
spin_lock_irqsave() in ehci_irq().

This change can be reverted when hrtimer callbacks become threaded.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: stable <stable@vger.kernel.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-hcd.c