diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-06-01 10:06:24 +0200 |
---|---|---|
committer | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2012-06-13 16:37:30 -0700 |
commit | 32f1d2c536d0c26c5814cb0e6a0606c42d02fac1 (patch) | |
tree | 76f9d51f81cf29d07a988b0283e2ea4d874a0971 /drivers/usb/host/xhci.c | |
parent | 46ed8f00d8982e49f8fe2c1a9cea192f640cb3ba (diff) | |
download | op-kernel-dev-32f1d2c536d0c26c5814cb0e6a0606c42d02fac1.zip op-kernel-dev-32f1d2c536d0c26c5814cb0e6a0606c42d02fac1.tar.gz |
xhci: Don't free endpoints in xhci_mem_cleanup()
This patch fixes a few issues introduced in the recent fix
[f8a9e72d: USB: fix resource leak in xhci power loss path]
- The endpoints listed in bw table are just links and each entry is an
array member of dev->eps[]. But the commit above adds a kfree() call
to these instances, and thus it results in memory corruption.
- It clears only the first entry of rh_bw[], but there can be multiple
ports.
- It'd be safer to clear the list_head of ep as well, not only
removing from the list, as it's checked in
xhci_discover_or_reset_device().
This patch should be backported to kernels as old as 3.2, that contain
the commit 839c817ce67178ca3c7c7ad534c571bba1e69ebe "xhci: Store
information about roothubs and TTs."
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reviewed-by: Oliver Neukum <oneukum@suse.de>
Cc: <stable@vger.kernel.org>
Diffstat (limited to 'drivers/usb/host/xhci.c')
0 files changed, 0 insertions, 0 deletions