USB: whci-hcd: handle early deletion of endpoints
authorDavid Vrabel <david.vrabel@csr.com>
Mon, 12 Oct 2009 15:45:15 +0000 (15:45 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 Oct 2009 21:54:42 +0000 (14:54 -0700)
commit171b37ee95865c052a88d52a05895c3c584f4871
tree6bfd5bf907ce1cf3b7c5a332bb12e5467e0d11c2
parentb41ecf9a80a55406eb4bf90c1ba260785002e103
USB: whci-hcd: handle early deletion of endpoints

If an endpoint is deleted before it's been fully added to the hardware
list, the associated qset will not be fully initialized and an oops will
occur when complete(&qset->remove_complete) is called.  This can happen
if a queued URB is cancelled.

Fix this by only removing the qset from the hardware list if the
cancelled URB had qTDs.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/whci/asl.c
drivers/usb/host/whci/pzl.c