]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Jun 2022 08:21:54 +0000 (10:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Jun 2022 08:21:54 +0000 (10:21 +0200)
added patches:
comedi-vmk80xx-fix-expression-for-tx-buffer-size.patch
usb-gadget-lpc32xx_udc-fix-refcount-leak-in-lpc32xx_udc_probe.patch
usb-serial-io_ti-add-agilent-e5805a-support.patch
usb-serial-option-add-support-for-cinterion-mv31-with-new-baseline.patch

queue-4.9/comedi-vmk80xx-fix-expression-for-tx-buffer-size.patch [new file with mode: 0644]
queue-4.9/series
queue-4.9/usb-gadget-lpc32xx_udc-fix-refcount-leak-in-lpc32xx_udc_probe.patch [new file with mode: 0644]
queue-4.9/usb-serial-io_ti-add-agilent-e5805a-support.patch [new file with mode: 0644]
queue-4.9/usb-serial-option-add-support-for-cinterion-mv31-with-new-baseline.patch [new file with mode: 0644]

diff --git a/queue-4.9/comedi-vmk80xx-fix-expression-for-tx-buffer-size.patch b/queue-4.9/comedi-vmk80xx-fix-expression-for-tx-buffer-size.patch
new file mode 100644 (file)
index 0000000..a759beb
--- /dev/null
@@ -0,0 +1,35 @@
+From 242439f7e279d86b3f73b5de724bc67b2f8aeb07 Mon Sep 17 00:00:00 2001
+From: Ian Abbott <abbotti@mev.co.uk>
+Date: Tue, 7 Jun 2022 18:18:19 +0100
+Subject: comedi: vmk80xx: fix expression for tx buffer size
+
+From: Ian Abbott <abbotti@mev.co.uk>
+
+commit 242439f7e279d86b3f73b5de724bc67b2f8aeb07 upstream.
+
+The expression for setting the size of the allocated bulk TX buffer
+(`devpriv->usb_tx_buf`) is calling `usb_endpoint_maxp(devpriv->ep_rx)`,
+which is using the wrong endpoint (should be `devpriv->ep_tx`).  Fix it.
+
+Fixes: a23461c47482 ("comedi: vmk80xx: fix transfer-buffer overflow")
+Cc: Johan Hovold <johan@kernel.org>
+Cc: stable@vger.kernel.org # 4.9+
+Reviewed-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
+Link: https://lore.kernel.org/r/20220607171819.4121-1-abbotti@mev.co.uk
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/staging/comedi/drivers/vmk80xx.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/comedi/drivers/vmk80xx.c
++++ b/drivers/staging/comedi/drivers/vmk80xx.c
+@@ -694,7 +694,7 @@ static int vmk80xx_alloc_usb_buffers(str
+       if (!devpriv->usb_rx_buf)
+               return -ENOMEM;
+-      size = max(usb_endpoint_maxp(devpriv->ep_rx), MIN_BUF_SIZE);
++      size = max(usb_endpoint_maxp(devpriv->ep_tx), MIN_BUF_SIZE);
+       devpriv->usb_tx_buf = kzalloc(size, GFP_KERNEL);
+       if (!devpriv->usb_tx_buf)
+               return -ENOMEM;
index 67b7b73ca60e5f54ff794645c4e2a07779953f27..61ea326654e681f8a1f61f41465a38da9e3fd291 100644 (file)
@@ -239,3 +239,7 @@ pnfs-don-t-keep-retrying-if-the-server-replied-nfs4e.patch
 misc-atmel-ssc-fix-irq-check-in-ssc_probe.patch
 irqchip-gic-realview-fix-refcount-leak-in-realview_g.patch
 irqchip-gic-v3-iterate-over-possible-cpus-by-for_eac.patch
+comedi-vmk80xx-fix-expression-for-tx-buffer-size.patch
+usb-serial-option-add-support-for-cinterion-mv31-with-new-baseline.patch
+usb-serial-io_ti-add-agilent-e5805a-support.patch
+usb-gadget-lpc32xx_udc-fix-refcount-leak-in-lpc32xx_udc_probe.patch
diff --git a/queue-4.9/usb-gadget-lpc32xx_udc-fix-refcount-leak-in-lpc32xx_udc_probe.patch b/queue-4.9/usb-gadget-lpc32xx_udc-fix-refcount-leak-in-lpc32xx_udc_probe.patch
new file mode 100644 (file)
index 0000000..7be93a2
--- /dev/null
@@ -0,0 +1,33 @@
+From 4757c9ade34178b351580133771f510b5ffcf9c8 Mon Sep 17 00:00:00 2001
+From: Miaoqian Lin <linmq006@gmail.com>
+Date: Fri, 3 Jun 2022 18:02:44 +0400
+Subject: usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
+
+From: Miaoqian Lin <linmq006@gmail.com>
+
+commit 4757c9ade34178b351580133771f510b5ffcf9c8 upstream.
+
+of_parse_phandle() returns a node pointer with refcount
+incremented, we should use of_node_put() on it when not need anymore.
+Add missing of_node_put() to avoid refcount leak.
+of_node_put() will check NULL pointer.
+
+Fixes: 24a28e428351 ("USB: gadget driver for LPC32xx")
+Cc: stable <stable@kernel.org>
+Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
+Link: https://lore.kernel.org/r/20220603140246.64529-1-linmq006@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/gadget/udc/lpc32xx_udc.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/gadget/udc/lpc32xx_udc.c
++++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
+@@ -3034,6 +3034,7 @@ static int lpc32xx_udc_probe(struct plat
+       }
+       udc->isp1301_i2c_client = isp1301_get_client(isp1301_node);
++      of_node_put(isp1301_node);
+       if (!udc->isp1301_i2c_client) {
+               retval = -EPROBE_DEFER;
+               goto phy_fail;
diff --git a/queue-4.9/usb-serial-io_ti-add-agilent-e5805a-support.patch b/queue-4.9/usb-serial-io_ti-add-agilent-e5805a-support.patch
new file mode 100644 (file)
index 0000000..8c2b8e5
--- /dev/null
@@ -0,0 +1,49 @@
+From 908e698f2149c3d6a67d9ae15c75545a3f392559 Mon Sep 17 00:00:00 2001
+From: Robert Eckelmann <longnoserob@gmail.com>
+Date: Sat, 21 May 2022 23:08:08 +0900
+Subject: USB: serial: io_ti: add Agilent E5805A support
+
+From: Robert Eckelmann <longnoserob@gmail.com>
+
+commit 908e698f2149c3d6a67d9ae15c75545a3f392559 upstream.
+
+Add support for Agilent E5805A (rebranded ION Edgeport/4) to io_ti.
+
+Signed-off-by: Robert Eckelmann <longnoserob@gmail.com>
+Link: https://lore.kernel.org/r/20220521230808.30931eca@octoberrain
+Cc: stable@vger.kernel.org
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/serial/io_ti.c      |    2 ++
+ drivers/usb/serial/io_usbvend.h |    1 +
+ 2 files changed, 3 insertions(+)
+
+--- a/drivers/usb/serial/io_ti.c
++++ b/drivers/usb/serial/io_ti.c
+@@ -172,6 +172,7 @@ static const struct usb_device_id edgepo
+       { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_8S) },
+       { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_416) },
+       { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_416B) },
++      { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_E5805A) },
+       { }
+ };
+@@ -210,6 +211,7 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_8S) },
+       { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_416) },
+       { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_416B) },
++      { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_E5805A) },
+       { }
+ };
+--- a/drivers/usb/serial/io_usbvend.h
++++ b/drivers/usb/serial/io_usbvend.h
+@@ -215,6 +215,7 @@
+ //
+ // Definitions for other product IDs
+ #define ION_DEVICE_ID_MT4X56USB                       0x1403  // OEM device
++#define ION_DEVICE_ID_E5805A                  0x1A01  // OEM device (rebranded Edgeport/4)
+ #define       GENERATION_ID_FROM_USB_PRODUCT_ID(ProductId)                            \
diff --git a/queue-4.9/usb-serial-option-add-support-for-cinterion-mv31-with-new-baseline.patch b/queue-4.9/usb-serial-option-add-support-for-cinterion-mv31-with-new-baseline.patch
new file mode 100644 (file)
index 0000000..6ba0431
--- /dev/null
@@ -0,0 +1,75 @@
+From 158f7585bfcea4aae0ad4128d032a80fec550df1 Mon Sep 17 00:00:00 2001
+From: Slark Xiao <slark_xiao@163.com>
+Date: Wed, 1 Jun 2022 11:47:40 +0800
+Subject: USB: serial: option: add support for Cinterion MV31 with new baseline
+
+From: Slark Xiao <slark_xiao@163.com>
+
+commit 158f7585bfcea4aae0ad4128d032a80fec550df1 upstream.
+
+Adding support for Cinterion device MV31 with Qualcomm
+new baseline. Use different PIDs to separate it from
+previous base line products.
+All interfaces settings keep same as previous.
+
+Below is test evidence:
+T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
+D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
+P:  Vendor=1e2d ProdID=00b8 Rev=04.14
+S:  Manufacturer=Cinterion
+S:  Product=Cinterion PID 0x00B8 USB Mobile Broadband
+S:  SerialNumber=90418e79
+C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
+I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
+I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
+I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
+I:  If#=0x3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
+I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option
+I:  If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
+
+T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
+D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
+P:  Vendor=1e2d ProdID=00b9 Rev=04.14
+S:  Manufacturer=Cinterion
+S:  Product=Cinterion PID 0x00B9 USB Mobile Broadband
+S:  SerialNumber=90418e79
+C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
+I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan
+I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
+I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option
+I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
+
+For PID 00b8, interface 3 is GNSS port which don't use serial driver.
+
+Signed-off-by: Slark Xiao <slark_xiao@163.com>
+Link: https://lore.kernel.org/r/20220601034740.5438-1-slark_xiao@163.com
+[ johan: rename defines using a "2" infix ]
+Cc: stable@vger.kernel.org
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/serial/option.c |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -430,6 +430,8 @@ static void option_instat_callback(struc
+ #define CINTERION_PRODUCT_CLS8                        0x00b0
+ #define CINTERION_PRODUCT_MV31_MBIM           0x00b3
+ #define CINTERION_PRODUCT_MV31_RMNET          0x00b7
++#define CINTERION_PRODUCT_MV31_2_MBIM         0x00b8
++#define CINTERION_PRODUCT_MV31_2_RMNET                0x00b9
+ #define CINTERION_PRODUCT_MV32_WA             0x00f1
+ #define CINTERION_PRODUCT_MV32_WB             0x00f2
+@@ -1953,6 +1955,10 @@ static const struct usb_device_id option
+         .driver_info = RSVD(3)},
+       { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_RMNET, 0xff),
+         .driver_info = RSVD(0)},
++      { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_2_MBIM, 0xff),
++        .driver_info = RSVD(3)},
++      { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_2_RMNET, 0xff),
++        .driver_info = RSVD(0)},
+       { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WA, 0xff),
+         .driver_info = RSVD(3)},
+       { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WB, 0xff),