aboutsummaryrefslogtreecommitdiff
path: root/Documentation/timers
diff options
context:
space:
mode:
authorMathias Nyman2020-02-10 15:45:51 +0200
committerGreg Kroah-Hartman2020-02-10 06:56:21 -0800
commitfc57313d1017dd6b6f37a94e88daa8df54368ecc (patch)
tree721e506f78d5565b021b8633ca124d055bb181eb /Documentation/timers
parentf148b9f402ef002b57bcff3964d45abc8ffb6c3f (diff)
xhci: Fix memory leak when caching protocol extended capability PSI tables
xhci driver assumed that xHC controllers have at most one custom supported speed table (PSI) for all usb 3.x ports. Memory was allocated for one PSI table under the xhci hub structure. Turns out this is not the case, some controllers have a separate "supported protocol capability" entry with a PSI table for each port. This means each usb3 roothub port can in theory support different custom speeds. To solve this, cache all supported protocol capabilities with their PSI tables in an array, and add pointers to the xhci port structure so that every port points to its capability entry in the array. When creating the SuperSpeedPlus USB Device Capability BOS descriptor for the xhci USB 3.1 roothub we for now will use only data from the first USB 3.1 capable protocol capability entry in the array. This could be improved later, this patch focuses resolving the memory leak. Reported-by: Paul Menzel <pmenzel@molgen.mpg.de> Reported-by: Sajja Venkateswara Rao <VenkateswaraRao.Sajja@amd.com> Fixes: 47189098f8be ("xhci: parse xhci protocol speed ID list for usb 3.1 usage") Cc: stable <stable@vger.kernel.org> # v4.4+ Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20200210134553.9144-3-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation/timers')
0 files changed, 0 insertions, 0 deletions