diff --git a/debian/changelog b/debian/changelog index ba480f36d..d0b9e8903 100644 --- a/debian/changelog +++ b/debian/changelog @@ -27,6 +27,7 @@ linux-2.6 (3.0.0-6) UNRELEASED; urgency=low For the complete list of changes, see: http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.0.8 * [{mips,mipsel}/{4,5}kc-malta] Disable X.25, as in all other configurations + * ark3116: Fix initialisation order (Closes: #640391) -- Uwe Kleine-König Fri, 07 Oct 2011 15:48:22 +0200 diff --git a/debian/patches/bugfix/all/ark3116-initialisation-fix.patch b/debian/patches/bugfix/all/ark3116-initialisation-fix.patch new file mode 100644 index 000000000..fc2f9354d --- /dev/null +++ b/debian/patches/bugfix/all/ark3116-initialisation-fix.patch @@ -0,0 +1,53 @@ +Date: Wed, 26 Oct 2011 13:29:42 +0200 +From: Bart Hartgers +Subject: [PATCH] ark3116 initialisation fix + +Hi, + +This patch for the usb serial ark3116 driver fixes an initialisation +ordering bug that gets triggered on hotplug when using at least recent +debian/ubuntu userspace. Without it, ark3116 serial cables don't work. + +Patch is against 3.1. + +Groeten, +Bart + +Signed-off-by: Bart Hartgers +Tested-by: law_ence.dev@ntlworld.com +--- +diff -ur linux-3.1.orig//drivers/usb/serial/ark3116.c linux-3.1/drivers/usb/serial/ark3116.c +--- linux-3.1.orig//drivers/usb/serial/ark3116.c 2011-10-24 09:10:05.000000000 +0200 ++++ linux-3.1/drivers/usb/serial/ark3116.c 2011-10-26 09:16:41.776874595 +0200 +@@ -42,7 +42,7 @@ + * Version information + */ + +-#define DRIVER_VERSION "v0.6" ++#define DRIVER_VERSION "v0.7" + #define DRIVER_AUTHOR "Bart Hartgers " + #define DRIVER_DESC "USB ARK3116 serial/IrDA driver" + #define DRIVER_DEV_DESC "ARK3116 RS232/IrDA" +@@ -380,10 +380,6 @@ + goto err_out; + } + +- /* setup termios */ +- if (tty) +- ark3116_set_termios(tty, port, NULL); +- + /* remove any data still left: also clears error state */ + ark3116_read_reg(serial, UART_RX, buf); + +@@ -406,6 +402,10 @@ + /* enable DMA */ + ark3116_write_reg(port->serial, UART_FCR, UART_FCR_DMA_SELECT); + ++ /* setup termios */ ++ if (tty) ++ ark3116_set_termios(tty, port, NULL); ++ + err_out: + kfree(buf); + return result; + diff --git a/debian/patches/series/6 b/debian/patches/series/6 index 7f433ca2f..3b1722047 100644 --- a/debian/patches/series/6 +++ b/debian/patches/series/6 @@ -1,3 +1,4 @@ + bugfix/all/stable/3.0.7.patch - bugfix/all/uvcvideo-Fix-crash-when-linking-entities.patch + bugfix/all/stable/3.0.8.patch ++ bugfix/all/ark3116-initialisation-fix.patch