]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 30 May 2021 11:19:46 +0000 (13:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 30 May 2021 11:19:46 +0000 (13:19 +0200)
added patches:
usb-typec-mux-fix-matching-with-typec_altmode_desc.patch

queue-5.10/series
queue-5.10/usb-typec-mux-fix-matching-with-typec_altmode_desc.patch [new file with mode: 0644]

index 436df239e021e01643dc7dda40951a8232b31ce4..3468b05ea09e57f8ec9cb9e2ed5ad4a35a1e45b8 100644 (file)
@@ -85,3 +85,4 @@ usb-serial-pl2303-add-device-id-for-adlink-nd-6530-gc.patch
 thermal-drivers-intel-initialize-rw-trip-to-thermal_temp_invalid.patch
 usb-dwc3-gadget-properly-track-pending-and-queued-sg.patch
 usb-gadget-udc-renesas_usb3-fix-a-race-in-usb3_start_pipen.patch
+usb-typec-mux-fix-matching-with-typec_altmode_desc.patch
diff --git a/queue-5.10/usb-typec-mux-fix-matching-with-typec_altmode_desc.patch b/queue-5.10/usb-typec-mux-fix-matching-with-typec_altmode_desc.patch
new file mode 100644 (file)
index 0000000..9fc5514
--- /dev/null
@@ -0,0 +1,51 @@
+From acf5631c239dfc53489f739c4ad47f490c5181ff Mon Sep 17 00:00:00 2001
+From: Bjorn Andersson <bjorn.andersson@linaro.org>
+Date: Sat, 15 May 2021 20:47:30 -0700
+Subject: usb: typec: mux: Fix matching with typec_altmode_desc
+
+From: Bjorn Andersson <bjorn.andersson@linaro.org>
+
+commit acf5631c239dfc53489f739c4ad47f490c5181ff upstream.
+
+In typec_mux_match() "nval" is assigned the number of elements in the
+"svid" fwnode property, then the variable is used to store the success
+of the read and finally attempts to loop between 0 and "success" - i.e.
+not at all - and the code returns indicating that no match was found.
+
+Fix this by using a separate variable to track the success of the read,
+to allow the loop to get a change to find a match.
+
+Fixes: 96a6d031ca99 ("usb: typec: mux: Find the muxes by also matching against the device node")
+Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
+Link: https://lore.kernel.org/r/20210516034730.621461-1-bjorn.andersson@linaro.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/typec/mux.c |    7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/typec/mux.c
++++ b/drivers/usb/typec/mux.c
+@@ -191,6 +191,7 @@ static void *typec_mux_match(struct fwno
+       bool match;
+       int nval;
+       u16 *val;
++      int ret;
+       int i;
+       /*
+@@ -218,10 +219,10 @@ static void *typec_mux_match(struct fwno
+       if (!val)
+               return ERR_PTR(-ENOMEM);
+-      nval = fwnode_property_read_u16_array(fwnode, "svid", val, nval);
+-      if (nval < 0) {
++      ret = fwnode_property_read_u16_array(fwnode, "svid", val, nval);
++      if (ret < 0) {
+               kfree(val);
+-              return ERR_PTR(nval);
++              return ERR_PTR(ret);
+       }
+       for (i = 0; i < nval; i++) {