xhci: delete endpoints from bandwidth list before freeing whole device
authorMathias Nyman <mathias.nyman@linux.intel.com>
Wed, 28 May 2014 20:51:13 +0000 (23:51 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 May 2014 21:53:53 +0000 (14:53 -0700)
commit5dc2808c4729bf080487e61b80ee04e0fdb12a37
tree142c2993c2c8d18ed656b397cedf1d181f91b125
parentb38f09ccc3fd453180e96273bf3f34083c30809a
xhci: delete endpoints from bandwidth list before freeing whole device

Lists of endpoints are stored for bandwidth calculation for roothub ports.
Make sure we remove all endpoints from the list before the whole device,
containing its endpoints list_head stuctures, is freed.

This used to be done in the wrong order in xhci_mem_cleanup(),
and triggered an oops in resume from S4 (hibernate).

Cc: stable <stable@vger.kernel.org>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mem.c