Skip to contentSkip to conversation

Patch "usb: xhci: Free the right ring in xhci_add_endpoint()" has been added to the 4.13-stable tree

PATCH [email protected] 1 participant 1 message Oct 9, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

usb: xhci: Free the right ring in xhci_add_endpoint()

to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
usb-xhci-free-the-right-ring-in-xhci_add_endpoint.patch
and it can be found in the queue-4.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 9821786d7c90eee2f6852261893d9703801aae47 Mon Sep 17 00:00:00 2001

From: Lu Baolu <[email protected]>
Date: Mon, 18 Sep 2017 17:39:12 +0300
Subject: usb: xhci: Free the right ring in xhci_add_endpoint()

From: Lu Baolu <[email protected]>

commit 9821786d7c90eee2f6852261893d9703801aae47 upstream.

In the xhci_add_endpoint(), a new ring was allocated and saved at xhci_virt_ep->new_ring. Hence, when error happens, we need to free the allocated ring before returning error.

Current code frees xhci_virt_ep->ring instead of the new_ring. This patch fixes this.

---
 drivers/usb/host/xhci.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/usb/host/xhci.c +2 -1
@@ -1703,7 +1703,8 @@ static int xhci_add_endpoint(struct usb_
 	if (xhci->quirks & XHCI_MTK_HOST) {
 		ret = xhci_mtk_add_ep_quirk(hcd, udev, ep);
 		if (ret < 0) {
-			xhci_free_endpoint_ring(xhci, virt_dev, ep_index);
+			xhci_ring_free(xhci, virt_dev->eps[ep_index].new_ring);
+			virt_dev->eps[ep_index].new_ring = NULL;
 			return ret;
 		}
 	}

Patches currently in stable-queue which might be from [email protected] are

queue-4.13/usb-xhci-free-the-right-ring-in-xhci_add_endpoint.patch