]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 10 Dec 2017 17:06:24 +0000 (18:06 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 10 Dec 2017 17:06:24 +0000 (18:06 +0100)
added patches:
can-ems_usb-cancel-urb-on-epipe-and-eproto.patch
can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch
can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch
can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch
can-kvaser_usb-free-buf-in-error-paths.patch
can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch
can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch

queue-3.18/can-ems_usb-cancel-urb-on-epipe-and-eproto.patch [new file with mode: 0644]
queue-3.18/can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch [new file with mode: 0644]
queue-3.18/can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch [new file with mode: 0644]
queue-3.18/can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch [new file with mode: 0644]
queue-3.18/can-kvaser_usb-free-buf-in-error-paths.patch [new file with mode: 0644]
queue-3.18/can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch [new file with mode: 0644]
queue-3.18/can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch [new file with mode: 0644]
queue-3.18/series [new file with mode: 0644]
queue-4.14/series [new file with mode: 0644]
queue-4.4/series [new file with mode: 0644]
queue-4.9/series [new file with mode: 0644]

diff --git a/queue-3.18/can-ems_usb-cancel-urb-on-epipe-and-eproto.patch b/queue-3.18/can-ems_usb-cancel-urb-on-epipe-and-eproto.patch
new file mode 100644 (file)
index 0000000..fc07d3a
--- /dev/null
@@ -0,0 +1,36 @@
+From bd352e1adfe0d02d3ea7c8e3fb19183dc317e679 Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Tue, 5 Dec 2017 11:15:47 -0800
+Subject: can: ems_usb: cancel urb on -EPIPE and -EPROTO
+
+From: Martin Kelly <mkelly@xevo.com>
+
+commit bd352e1adfe0d02d3ea7c8e3fb19183dc317e679 upstream.
+
+In mcba_usb, we have observed that when you unplug the device, the driver will
+endlessly resubmit failing URBs, which can cause CPU stalls. This issue
+is fixed in mcba_usb by catching the codes seen on device disconnect
+(-EPIPE and -EPROTO).
+
+This driver also resubmits in the case of -EPIPE and -EPROTO, so fix it
+in the same way.
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/ems_usb.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/can/usb/ems_usb.c
++++ b/drivers/net/can/usb/ems_usb.c
+@@ -290,6 +290,8 @@ static void ems_usb_read_interrupt_callb
+       case -ECONNRESET: /* unlink */
+       case -ENOENT:
++      case -EPIPE:
++      case -EPROTO:
+       case -ESHUTDOWN:
+               return;
diff --git a/queue-3.18/can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch b/queue-3.18/can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch
new file mode 100644 (file)
index 0000000..f6d31b5
--- /dev/null
@@ -0,0 +1,36 @@
+From 7a31ced3de06e9878e4f9c3abe8f87d9344d8144 Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Tue, 5 Dec 2017 11:15:48 -0800
+Subject: can: esd_usb2: cancel urb on -EPIPE and -EPROTO
+
+From: Martin Kelly <mkelly@xevo.com>
+
+commit 7a31ced3de06e9878e4f9c3abe8f87d9344d8144 upstream.
+
+In mcba_usb, we have observed that when you unplug the device, the driver will
+endlessly resubmit failing URBs, which can cause CPU stalls. This issue
+is fixed in mcba_usb by catching the codes seen on device disconnect
+(-EPIPE and -EPROTO).
+
+This driver also resubmits in the case of -EPIPE and -EPROTO, so fix it
+in the same way.
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/esd_usb2.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/can/usb/esd_usb2.c
++++ b/drivers/net/can/usb/esd_usb2.c
+@@ -395,6 +395,8 @@ static void esd_usb2_read_bulk_callback(
+               break;
+       case -ENOENT:
++      case -EPIPE:
++      case -EPROTO:
+       case -ESHUTDOWN:
+               return;
diff --git a/queue-3.18/can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch b/queue-3.18/can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch
new file mode 100644 (file)
index 0000000..6bd4931
--- /dev/null
@@ -0,0 +1,36 @@
+From 6aa8d5945502baf4687d80de59b7ac865e9e666b Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Tue, 5 Dec 2017 11:15:49 -0800
+Subject: can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
+
+From: Martin Kelly <mkelly@xevo.com>
+
+commit 6aa8d5945502baf4687d80de59b7ac865e9e666b upstream.
+
+In mcba_usb, we have observed that when you unplug the device, the driver will
+endlessly resubmit failing URBs, which can cause CPU stalls. This issue
+is fixed in mcba_usb by catching the codes seen on device disconnect
+(-EPIPE and -EPROTO).
+
+This driver also resubmits in the case of -EPIPE and -EPROTO, so fix it
+in the same way.
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/kvaser_usb.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/can/usb/kvaser_usb.c
++++ b/drivers/net/can/usb/kvaser_usb.c
+@@ -981,6 +981,8 @@ static void kvaser_usb_read_bulk_callbac
+       case 0:
+               break;
+       case -ENOENT:
++      case -EPIPE:
++      case -EPROTO:
+       case -ESHUTDOWN:
+               return;
+       default:
diff --git a/queue-3.18/can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch b/queue-3.18/can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch
new file mode 100644 (file)
index 0000000..9855d39
--- /dev/null
@@ -0,0 +1,38 @@
+From e84f44eb5523401faeb9cc1c97895b68e3cfb78d Mon Sep 17 00:00:00 2001
+From: Jimmy Assarsson <jimmyassarsson@gmail.com>
+Date: Tue, 21 Nov 2017 08:22:27 +0100
+Subject: can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
+
+From: Jimmy Assarsson <jimmyassarsson@gmail.com>
+
+commit e84f44eb5523401faeb9cc1c97895b68e3cfb78d upstream.
+
+The conditon in the while-loop becomes true when actual_length is less than
+2 (MSG_HEADER_LEN). In best case we end up with a former, already
+dispatched msg, that got msg->len greater than actual_length. This will
+result in a "Format error" error printout.
+
+Problem seen when unplugging a Kvaser USB device connected to a vbox guest.
+
+warning: comparison between signed and unsigned integer expressions
+[-Wsign-compare]
+
+Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/kvaser_usb.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/can/usb/kvaser_usb.c
++++ b/drivers/net/can/usb/kvaser_usb.c
+@@ -989,7 +989,7 @@ static void kvaser_usb_read_bulk_callbac
+               goto resubmit_urb;
+       }
+-      while (pos <= urb->actual_length - MSG_HEADER_LEN) {
++      while (pos <= (int)(urb->actual_length - MSG_HEADER_LEN)) {
+               msg = urb->transfer_buffer + pos;
+               /* The Kvaser firmware can only read and write messages that
diff --git a/queue-3.18/can-kvaser_usb-free-buf-in-error-paths.patch b/queue-3.18/can-kvaser_usb-free-buf-in-error-paths.patch
new file mode 100644 (file)
index 0000000..e2f1347
--- /dev/null
@@ -0,0 +1,37 @@
+From 435019b48033138581a6171093b181fc6b4d3d30 Mon Sep 17 00:00:00 2001
+From: Jimmy Assarsson <jimmyassarsson@gmail.com>
+Date: Tue, 21 Nov 2017 08:22:26 +0100
+Subject: can: kvaser_usb: free buf in error paths
+
+From: Jimmy Assarsson <jimmyassarsson@gmail.com>
+
+commit 435019b48033138581a6171093b181fc6b4d3d30 upstream.
+
+The allocated buffer was not freed if usb_submit_urb() failed.
+
+Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/kvaser_usb.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/can/usb/kvaser_usb.c
++++ b/drivers/net/can/usb/kvaser_usb.c
+@@ -602,6 +602,7 @@ static int kvaser_usb_simple_msg_async(s
+       if (err) {
+               netdev_err(netdev, "Error transmitting URB\n");
+               usb_unanchor_urb(urb);
++              kfree(buf);
+               usb_free_urb(urb);
+               kfree(buf);
+               return err;
+@@ -1385,6 +1386,7 @@ static netdev_tx_t kvaser_usb_start_xmit
+               atomic_dec(&priv->active_tx_urbs);
+               usb_unanchor_urb(urb);
++              kfree(buf);
+               stats->tx_dropped++;
diff --git a/queue-3.18/can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch b/queue-3.18/can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch
new file mode 100644 (file)
index 0000000..846536e
--- /dev/null
@@ -0,0 +1,43 @@
+From 8bd13bd522ff7dfa0eb371921aeb417155f7a3be Mon Sep 17 00:00:00 2001
+From: Jimmy Assarsson <jimmyassarsson@gmail.com>
+Date: Tue, 21 Nov 2017 08:22:28 +0100
+Subject: can: kvaser_usb: ratelimit errors if incomplete messages are received
+
+From: Jimmy Assarsson <jimmyassarsson@gmail.com>
+
+commit 8bd13bd522ff7dfa0eb371921aeb417155f7a3be upstream.
+
+Avoid flooding the kernel log with "Formate error", if incomplete message
+are received.
+
+Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/kvaser_usb.c |    7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/can/usb/kvaser_usb.c
++++ b/drivers/net/can/usb/kvaser_usb.c
+@@ -415,8 +415,8 @@ static int kvaser_usb_wait_msg(const str
+                       }
+                       if (pos + tmp->len > actual_len) {
+-                              dev_err(dev->udev->dev.parent,
+-                                      "Format error\n");
++                              dev_err_ratelimited(dev->udev->dev.parent,
++                                                  "Format error\n");
+                               break;
+                       }
+@@ -1007,7 +1007,8 @@ static void kvaser_usb_read_bulk_callbac
+               }
+               if (pos + msg->len > urb->actual_length) {
+-                      dev_err(dev->udev->dev.parent, "Format error\n");
++                      dev_err_ratelimited(dev->udev->dev.parent,
++                                          "Format error\n");
+                       break;
+               }
diff --git a/queue-3.18/can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch b/queue-3.18/can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch
new file mode 100644 (file)
index 0000000..9c9b396
--- /dev/null
@@ -0,0 +1,36 @@
+From 12147edc434c9e4c7c2f5fee2e5519b2e5ac34ce Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Tue, 5 Dec 2017 11:15:50 -0800
+Subject: can: usb_8dev: cancel urb on -EPIPE and -EPROTO
+
+From: Martin Kelly <mkelly@xevo.com>
+
+commit 12147edc434c9e4c7c2f5fee2e5519b2e5ac34ce upstream.
+
+In mcba_usb, we have observed that when you unplug the device, the driver will
+endlessly resubmit failing URBs, which can cause CPU stalls. This issue
+is fixed in mcba_usb by catching the codes seen on device disconnect
+(-EPIPE and -EPROTO).
+
+This driver also resubmits in the case of -EPIPE and -EPROTO, so fix it
+in the same way.
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/usb/usb_8dev.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/can/usb/usb_8dev.c
++++ b/drivers/net/can/usb/usb_8dev.c
+@@ -527,6 +527,8 @@ static void usb_8dev_read_bulk_callback(
+               break;
+       case -ENOENT:
++      case -EPIPE:
++      case -EPROTO:
+       case -ESHUTDOWN:
+               return;
diff --git a/queue-3.18/series b/queue-3.18/series
new file mode 100644 (file)
index 0000000..ecfc5d0
--- /dev/null
@@ -0,0 +1,7 @@
+can-kvaser_usb-free-buf-in-error-paths.patch
+can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch
+can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch
+can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch
+can-ems_usb-cancel-urb-on-epipe-and-eproto.patch
+can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch
+can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch
diff --git a/queue-4.14/series b/queue-4.14/series
new file mode 100644 (file)
index 0000000..4aa526e
--- /dev/null
@@ -0,0 +1,19 @@
+usb-gadget-udc-renesas_usb3-fix-number-of-the-pipes.patch
+usb-gadget-core-fix-udc_set_speed-speed-handling.patch
+serdev-ttyport-add-missing-receive_buf-sanity-checks.patch
+serdev-ttyport-fix-null-deref-on-hangup.patch
+serdev-ttyport-fix-tty-locking-in-close.patch
+usb-f_fs-force-reserved1-1-in-os_desc_ext_compat.patch
+can-mcba_usb-fix-device-disconnect-bug.patch
+can-peak-pci-fix-potential-bug-when-probe-fails.patch
+can-flexcan-fix-vf610-state-transition-issue.patch
+can-ti_hecc-fix-napi-poll-return-value-for-repoll.patch
+can-kvaser_usb-free-buf-in-error-paths.patch
+can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch
+can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch
+can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch
+can-mcba_usb-cancel-urb-on-eproto.patch
+can-ems_usb-cancel-urb-on-epipe-and-eproto.patch
+can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch
+can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch
+can-peak-pcie_fd-fix-potential-bug-in-restarting-tx-queue.patch
diff --git a/queue-4.4/series b/queue-4.4/series
new file mode 100644 (file)
index 0000000..fd0d462
--- /dev/null
@@ -0,0 +1,8 @@
+can-ti_hecc-fix-napi-poll-return-value-for-repoll.patch
+can-kvaser_usb-free-buf-in-error-paths.patch
+can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch
+can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch
+can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch
+can-ems_usb-cancel-urb-on-epipe-and-eproto.patch
+can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch
+can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch
diff --git a/queue-4.9/series b/queue-4.9/series
new file mode 100644 (file)
index 0000000..f52e3d7
--- /dev/null
@@ -0,0 +1,9 @@
+usb-gadget-udc-renesas_usb3-fix-number-of-the-pipes.patch
+can-ti_hecc-fix-napi-poll-return-value-for-repoll.patch
+can-kvaser_usb-free-buf-in-error-paths.patch
+can-kvaser_usb-fix-comparison-bug-in-kvaser_usb_read_bulk_callback.patch
+can-kvaser_usb-ratelimit-errors-if-incomplete-messages-are-received.patch
+can-kvaser_usb-cancel-urb-on-epipe-and-eproto.patch
+can-ems_usb-cancel-urb-on-epipe-and-eproto.patch
+can-esd_usb2-cancel-urb-on-epipe-and-eproto.patch
+can-usb_8dev-cancel-urb-on-epipe-and-eproto.patch