]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2013 20:10:56 +0000 (12:10 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2013 20:10:56 +0000 (12:10 -0800)
added patches:
usb-pl2303-fixed-handling-of-cs5-setting.patch

queue-3.4/series
queue-3.4/usb-pl2303-fixed-handling-of-cs5-setting.patch [new file with mode: 0644]

index 2e7f5aff008717ee16be77a6a1d96e2bbd5cafb8..f00ce136a93e0e409e78f4059585455c2f516030 100644 (file)
@@ -18,3 +18,4 @@ um-add-missing-declaration-of-getrlimit-and-friends.patch
 ahci-add-device-ids-for-intel-lynx-point-lp-pch.patch
 ahci-ahci-mode-sata-patch-for-intel-avoton-deviceids.patch
 i2c-i801-smbus-patch-for-intel-avoton-deviceids.patch
+usb-pl2303-fixed-handling-of-cs5-setting.patch
diff --git a/queue-3.4/usb-pl2303-fixed-handling-of-cs5-setting.patch b/queue-3.4/usb-pl2303-fixed-handling-of-cs5-setting.patch
new file mode 100644 (file)
index 0000000..d1384ab
--- /dev/null
@@ -0,0 +1,67 @@
+From a313249937820f8b1996133fc285efbd6aad2c5b Mon Sep 17 00:00:00 2001
+From: Colin Leitner <colin.leitner@googlemail.com>
+Date: Mon, 4 Nov 2013 19:40:43 +0100
+Subject: USB: pl2303: fixed handling of CS5 setting
+
+From: Colin Leitner <colin.leitner@googlemail.com>
+
+commit a313249937820f8b1996133fc285efbd6aad2c5b upstream.
+
+This patch fixes the CS5 setting on the PL2303 USB-to-serial devices. CS5 has a
+value of 0 and the CSIZE setting has been skipped altogether by the enclosing
+if. Tested on 3.11.6 and the scope shows the correct output after the fix has
+been applied.
+
+Tagged to be added to stable, because it fixes a user visible driver bug and is
+simple enough to backport easily.
+
+Signed-off-by: Colin Leitner <colin.leitner@gmail.com>
+Signed-off-by: Johan Hovold <jhovold@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/pl2303.c |   32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -290,24 +290,22 @@ static void pl2303_set_termios(struct tt
+       dbg("0xa1:0x21:0:0  %d - %x %x %x %x %x %x %x", i,
+           buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6]);
+-      if (cflag & CSIZE) {
+-              switch (cflag & CSIZE) {
+-              case CS5:
+-                      buf[6] = 5;
+-                      break;
+-              case CS6:
+-                      buf[6] = 6;
+-                      break;
+-              case CS7:
+-                      buf[6] = 7;
+-                      break;
+-              default:
+-              case CS8:
+-                      buf[6] = 8;
+-                      break;
+-              }
+-              dbg("%s - data bits = %d", __func__, buf[6]);
++      switch (cflag & CSIZE) {
++      case CS5:
++              buf[6] = 5;
++              break;
++      case CS6:
++              buf[6] = 6;
++              break;
++      case CS7:
++              buf[6] = 7;
++              break;
++      default:
++      case CS8:
++              buf[6] = 8;
++              break;
+       }
++      dbg("%s - data bits = %d", __func__, buf[6]);
+       /* For reference buf[0]:buf[3] baud rate value */
+       /* NOTE: Only the values defined in baud_sup are supported !