xhci: Fix NULL pointer deref in handle_port_status()
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 24 Mar 2011 15:02:58 +0000 (08:02 -0700)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Wed, 13 Apr 2011 23:19:49 +0000 (16:19 -0700)
commit386139d7c8f22d4983ca89de35d339cc41bb0996
treeb17d3deb6538c370854f3e59d2a152004feda75a
parentdfa49c4ad120a784ef1ff0717168aa79f55a483a
xhci: Fix NULL pointer deref in handle_port_status()

When we get a port status change event, we need to figure out what type of
port it came from: a USB 3.0 port, or a USB 2.0/1.1 port.  We can't know
which usb_hcd to use until that point, so hcd will be NULL for part of the
function.  Unfortunately, if any of the sanity checks fail, we'll jump to
the cleanup label before hcd is set to a valid pointer, and then we'll
attempt to tell the USB core to kick the hcd, which is NULL.

Skip kicking the roothub if the sanity checks fail.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/host/xhci-ring.c