Re: [RFT PATCH] xhci: Fix memory leak when caching protocol extended capability PSI tables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8.1.2020 17.40, Greg KH wrote:
On Wed, Jan 08, 2020 at 05:17:30PM +0200, Mathias Nyman wrote:
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 port can in theory support different custom speeds.

Is there a "max" number of port capabilities that can happen?  Or this
this truely dynamic?

Almost truly dynamic, each capability points to the next, last points to 0

But we can't have more "supported protocol capabilities" than xHC ports.
(MaxPorts value in xHC HCSPARAMS1 register)


+	for (i = 0; i < xhci->num_port_caps; i++) {
+		kfree(xhci->port_caps[i].psi);
+		xhci->port_caps[i].psi = NULL;
+	}

Nit, no need to set to NULL here :)

Thanks, will remove that

-Mathias




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux