mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
This is a stable-only fix for the backport of commit5d9b70f7d5("xhci: Don't add a virt_dev to the devs array before it's fully allocated"). In branches that predate commitc5628a2af8("xhci: remove endpoint ring cache") there is an additional failure path in xhci_alloc_virt_device() where ring cache allocation fails, in which case we need to free the ring allocated for endpoint 0. Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk> Cc: Mathias Nyman <mathias.nyman@intel.com>
This commit is contained in:
parent
6321e17535
commit
3ae43090f1
|
|
@ -1071,7 +1071,8 @@ int xhci_alloc_virt_device(struct xhci_hcd *xhci, int slot_id,
|
|||
|
||||
return 1;
|
||||
fail:
|
||||
|
||||
if (dev->eps[0].ring)
|
||||
xhci_ring_free(xhci, dev->eps[0].ring);
|
||||
if (dev->in_ctx)
|
||||
xhci_free_container_ctx(xhci, dev->in_ctx);
|
||||
if (dev->out_ctx)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user