Revert "xhci: Fix memory leak when caching protocol extended capability PSI tables"
This reverts commitfc57313d10
. Marek reports that it breaks things: This patch landed in today's linux-next (20200211) and causes NULL pointer dereference during second suspend/resume cycle on Samsung Exynos5422-based (arm 32bit) Odroid XU3lite board: A more complete fix will be added soon. Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Fixes:fc57313d10
("xhci: Fix memory leak when caching protocol extended capability PSI tables") Cc: Paul Menzel <pmenzel@molgen.mpg.de> Cc: Sajja Venkateswara Rao <VenkateswaraRao.Sajja@amd.com> Cc: stable <stable@vger.kernel.org> # v4.4+ Cc: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Tento commit je obsažen v:
@@ -1702,20 +1702,12 @@ struct xhci_bus_state {
|
||||
* Intel Lynx Point LP xHCI host.
|
||||
*/
|
||||
#define XHCI_MAX_REXIT_TIMEOUT_MS 20
|
||||
struct xhci_port_cap {
|
||||
u32 *psi; /* array of protocol speed ID entries */
|
||||
u8 psi_count;
|
||||
u8 psi_uid_count;
|
||||
u8 maj_rev;
|
||||
u8 min_rev;
|
||||
};
|
||||
|
||||
struct xhci_port {
|
||||
__le32 __iomem *addr;
|
||||
int hw_portnum;
|
||||
int hcd_portnum;
|
||||
struct xhci_hub *rhub;
|
||||
struct xhci_port_cap *port_cap;
|
||||
};
|
||||
|
||||
struct xhci_hub {
|
||||
@@ -1727,6 +1719,9 @@ struct xhci_hub {
|
||||
/* supported prococol extended capabiliy values */
|
||||
u8 maj_rev;
|
||||
u8 min_rev;
|
||||
u32 *psi; /* array of protocol speed ID entries */
|
||||
u8 psi_count;
|
||||
u8 psi_uid_count;
|
||||
};
|
||||
|
||||
/* There is one xhci_hcd structure per controller */
|
||||
@@ -1885,9 +1880,6 @@ struct xhci_hcd {
|
||||
/* cached usb2 extened protocol capabilites */
|
||||
u32 *ext_caps;
|
||||
unsigned int num_ext_caps;
|
||||
/* cached extended protocol port capabilities */
|
||||
struct xhci_port_cap *port_caps;
|
||||
unsigned int num_port_caps;
|
||||
/* Compliance Mode Recovery Data */
|
||||
struct timer_list comp_mode_recovery_timer;
|
||||
u32 port_status_u0;
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele