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>
Mon, 28 Jan 2013 04:49:01 +0000 (20:49 -0800)
commitdac7b553e37a1694a51d9db87f48d5603e753afe
tree7d332ca97557fddb6b60bb2998afe0fb04a55ab6
parente3cbd56ee0101eb1a9897bee3a04268d34170abb
USB: UHCI: fix IRQ race during initialization

commit 0f815a0a700bc10547449bde6c106051a035a1b9 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/uhci-hcd.c