From 59e828d14ec66f08677d91f6e5add77a40bbf6ae Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 8 Jun 2020 13:01:20 +0200 Subject: [PATCH] 4.19-stable patches added patches: usb-serial-option-add-telit-le910c1-eux-compositions.patch usb-serial-qcserial-add-dw5816e-qdl-support.patch usb-serial-usb_wwan-do-not-resubmit-rx-urb-on-fatal-errors.patch --- queue-4.19/series | 3 ++ ...n-add-telit-le910c1-eux-compositions.patch | 37 +++++++++++++++++++ ...ial-qcserial-add-dw5816e-qdl-support.patch | 33 +++++++++++++++++ ...-not-resubmit-rx-urb-on-fatal-errors.patch | 36 ++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 queue-4.19/usb-serial-option-add-telit-le910c1-eux-compositions.patch create mode 100644 queue-4.19/usb-serial-qcserial-add-dw5816e-qdl-support.patch create mode 100644 queue-4.19/usb-serial-usb_wwan-do-not-resubmit-rx-urb-on-fatal-errors.patch diff --git a/queue-4.19/series b/queue-4.19/series index a1cb8a5e0ec..17f3640a9c1 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -5,3 +5,6 @@ net-usb-qmi_wwan-add-telit-le910c1-eux-composition.patch nfc-st21nfca-add-missed-kfree_skb-in-an-error-path.patch vsock-fix-timeout-in-vsock_accept.patch net-check-untrusted-gso_size-at-kernel-entry.patch +usb-serial-qcserial-add-dw5816e-qdl-support.patch +usb-serial-usb_wwan-do-not-resubmit-rx-urb-on-fatal-errors.patch +usb-serial-option-add-telit-le910c1-eux-compositions.patch diff --git a/queue-4.19/usb-serial-option-add-telit-le910c1-eux-compositions.patch b/queue-4.19/usb-serial-option-add-telit-le910c1-eux-compositions.patch new file mode 100644 index 00000000000..93433b71b67 --- /dev/null +++ b/queue-4.19/usb-serial-option-add-telit-le910c1-eux-compositions.patch @@ -0,0 +1,37 @@ +From 399ad9477c523f721f8e51d4f824bdf7267f120c Mon Sep 17 00:00:00 2001 +From: Daniele Palmas +Date: Mon, 25 May 2020 23:11:06 +0200 +Subject: USB: serial: option: add Telit LE910C1-EUX compositions + +From: Daniele Palmas + +commit 399ad9477c523f721f8e51d4f824bdf7267f120c upstream. + +Add Telit LE910C1-EUX compositions: + + 0x1031: tty, tty, tty, rmnet + 0x1033: tty, tty, tty, ecm + +Signed-off-by: Daniele Palmas +Link: https://lore.kernel.org/r/20200525211106.27338-1-dnlplm@gmail.com +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/option.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -1157,6 +1157,10 @@ static const struct usb_device_id option + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UE910_V2) }, ++ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1031, 0xff), /* Telit LE910C1-EUX */ ++ .driver_info = NCTRL(0) | RSVD(3) }, ++ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1033, 0xff), /* Telit LE910C1-EUX (ECM) */ ++ .driver_info = NCTRL(0) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG0), + .driver_info = RSVD(0) | RSVD(1) | NCTRL(2) | RSVD(3) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG1), diff --git a/queue-4.19/usb-serial-qcserial-add-dw5816e-qdl-support.patch b/queue-4.19/usb-serial-qcserial-add-dw5816e-qdl-support.patch new file mode 100644 index 00000000000..cbcee93e56d --- /dev/null +++ b/queue-4.19/usb-serial-qcserial-add-dw5816e-qdl-support.patch @@ -0,0 +1,33 @@ +From 3429444abdd9dbd5faebd9bee552ec6162b17ad6 Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Thu, 21 May 2020 10:43:58 +1000 +Subject: USB: serial: qcserial: add DW5816e QDL support + +From: Matt Jolly + +commit 3429444abdd9dbd5faebd9bee552ec6162b17ad6 upstream. + +Add support for Dell Wireless 5816e Download Mode (AKA boot & hold mode / +QDL download mode) to drivers/usb/serial/qcserial.c + +This is required to update device firmware. + +Signed-off-by: Matt Jolly +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/qcserial.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/usb/serial/qcserial.c ++++ b/drivers/usb/serial/qcserial.c +@@ -173,6 +173,7 @@ static const struct usb_device_id id_tab + {DEVICE_SWI(0x413c, 0x81b3)}, /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card (rev3) */ + {DEVICE_SWI(0x413c, 0x81b5)}, /* Dell Wireless 5811e QDL */ + {DEVICE_SWI(0x413c, 0x81b6)}, /* Dell Wireless 5811e QDL */ ++ {DEVICE_SWI(0x413c, 0x81cb)}, /* Dell Wireless 5816e QDL */ + {DEVICE_SWI(0x413c, 0x81cc)}, /* Dell Wireless 5816e */ + {DEVICE_SWI(0x413c, 0x81cf)}, /* Dell Wireless 5819 */ + {DEVICE_SWI(0x413c, 0x81d0)}, /* Dell Wireless 5819 */ diff --git a/queue-4.19/usb-serial-usb_wwan-do-not-resubmit-rx-urb-on-fatal-errors.patch b/queue-4.19/usb-serial-usb_wwan-do-not-resubmit-rx-urb-on-fatal-errors.patch new file mode 100644 index 00000000000..deed2899b76 --- /dev/null +++ b/queue-4.19/usb-serial-usb_wwan-do-not-resubmit-rx-urb-on-fatal-errors.patch @@ -0,0 +1,36 @@ +From 986c1748c84d7727defeaeca74a73b37f7d5cce1 Mon Sep 17 00:00:00 2001 +From: Bin Liu +Date: Wed, 13 May 2020 16:36:46 -0500 +Subject: USB: serial: usb_wwan: do not resubmit rx urb on fatal errors + +From: Bin Liu + +commit 986c1748c84d7727defeaeca74a73b37f7d5cce1 upstream. + +usb_wwan_indat_callback() shouldn't resubmit rx urb if the previous urb +status is a fatal error. Or the usb controller would keep processing the +new urbs then run into interrupt storm, and has no chance to recover. + +Fixes: 6c1ee66a0b2b ("USB-Serial: Fix error handling of usb_wwan") +Cc: stable@vger.kernel.org +Signed-off-by: Bin Liu +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/usb_wwan.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/usb/serial/usb_wwan.c ++++ b/drivers/usb/serial/usb_wwan.c +@@ -299,6 +299,10 @@ static void usb_wwan_indat_callback(stru + if (status) { + dev_dbg(dev, "%s: nonzero status: %d on endpoint %02x.\n", + __func__, status, endpoint); ++ ++ /* don't resubmit on fatal errors */ ++ if (status == -ESHUTDOWN || status == -ENOENT) ++ return; + } else { + if (urb->actual_length) { + tty_insert_flip_string(&port->port, data, -- 2.47.2