USB: UHCI: fix IRQ race during initialization
authorAlan Stern <stern@rowland.harvard.edu>
Tue, 22 Jan 2013 16:37:35 +0000 (11:37 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Jan 2013 16:55:13 +0000 (08:55 -0800)
commit0f815a0a700bc10547449bde6c106051a035a1b9
tree15fa8225bc26d460df7e97ee056e95a51067a84b
parentad2e6329666650d9cafcae9ef53fbe09ea759ae2
USB: UHCI: fix IRQ race during initialization

This patch (as1644) fixes a race that occurs during startup in
uhci-hcd.  If the IRQ line is shared with other devices, it's possible
for the handler routine to be called before the data structures are
fully initialized.

The problem is fixed by adding a check to the IRQ handler routine.  If
the initialization hasn't finished yet, the routine will return
immediately.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Don Zickus <dzickus@redhat.com>
Tested-by: "Huang, Adrian (ISS Linux TW)" <adrian.huang@hp.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/uhci-hcd.c