diff options
3 files changed, 54 insertions, 7 deletions
diff --git a/kernels/linux-libre-lts-knock/0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch b/kernels/linux-libre-lts-knock/0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch new file mode 100644 index 000000000..adf5a48ff --- /dev/null +++ b/kernels/linux-libre-lts-knock/0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch @@ -0,0 +1,39 @@ +From d2702eb8157f845c81b1a6049139f342f12db494 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= <kyosti.malkki@gmail.com> +Date: Mon, 26 Aug 2013 19:19:44 +0300 +Subject: [PATCH 2/2] usb serial gadget: no TTY hangup on USB disconnect [WIP] +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We may want to maintain the TTY over USB disconnects. + +This is useful when we have a terminal console to a host which +power-cycles or for other reasons resets the USB host controller. + +Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> +--- + drivers/usb/gadget/function/u_serial.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c +index b369292..d156a28 100644 +--- a/drivers/usb/gadget/function/u_serial.c ++++ b/drivers/usb/gadget/function/u_serial.c +@@ -1258,8 +1258,13 @@ void gserial_disconnect(struct gserial *gser) + gser->ioport = NULL; + if (port->port.count > 0 || port->openclose) { + wake_up_interruptible(&port->drain_wait); ++#if 0 + if (port->port.tty) + tty_hangup(port->port.tty); ++#else ++ if (port->port.tty) ++ stop_tty(port->port.tty); ++#endif + } + spin_unlock_irqrestore(&port->port_lock, flags); + +-- +1.8.1.1 + diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index 61c82c390..bef62ceae 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -10,7 +10,7 @@ pkgbase=linux-libre-lts-knock _pkgbasever=4.1-gnu -_pkgver=4.1.13-gnu +_pkgver=4.1.15-gnu _knockpatchver=4.1_1 _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname @@ -50,6 +50,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/li 'linux.preset' 'change-default-console-loglevel.patch' '0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch' + '0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch' # armv7h patches "https://repo.parabola.nu/other/rcn-libre/patches/${_pkgver%-*}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch" "https://repo.parabola.nu/other/rcn-libre/patches/${_pkgver%-*}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch.sig" @@ -63,7 +64,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/li '0008-USB-armory-support.patch') sha256sums=('48b2e5ea077d0a0bdcb205e67178e8eb5b2867db3b2364b701dbc801d9755324' 'SKIP' - '74b6b3e854a01c09d9c27fbf047deab699c9feddc22a42d156bed48369f0cac4' + 'c7ae216251d4f2557ad39a498b8b393403cbe673962e2d4ad533bb2bf49d6875' 'SKIP' 'da336d8e5291b7641598eb5d7f44f54dacf6515ed6ffd32735dd6f128458dbdc' 'SKIP' @@ -75,11 +76,12 @@ sha256sums=('48b2e5ea077d0a0bdcb205e67178e8eb5b2867db3b2364b701dbc801d9755324' 'SKIP' 'd6dec49ee72d787b9f0643c23ed5d23ffb11fc5eb472f8ce5f2f61a13f5c86ac' 'f467704d1b25eb32cbcb6d3165d664d79e1dc4ecb85b0749d43d6a985176c451' - 'f3b8deec5be35d27350b02b7ee056e84b6fdb8d16396043056f2e47b43b5f0d0' + '812dd442ccc6bae054f90928e4646bc023c24857ef84a1682b813b84b04754a2' 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' '38cf6bdf70dc070ff0b785937d99347bb91f8531ea2bcca50283c8923a184c6d' - 'cee2eea33a034e7dc2a6d2d907f20f77eae8fb32bf8281e6b2634e054ebf2173' + '3d3266bd082321dccf429cc2200d1a4d870d2031546f9f591b6dfbb698294808' + 'b485e9da38a70cb2a878714384ce4ddb36b0c3524b90d80cbff8a9a18c519e0b' 'SKIP' '203b07cc241f2374d1e18583fc9940cc69da134f992bff65a8b376c717aa7ea7' '28fb8c937c2a0dc824ea755efba26ac5a4555f9a97d79f4e31f24b23c5eae59c' @@ -144,12 +146,16 @@ prepare() { # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -p1 -i "${srcdir}/change-default-console-loglevel.patch" - # Make the radeon driver load without the firmwares + # make the radeon driver load without the firmwares # http://www.fsfla.org/pipermail/linux-libre/2015-August/003098.html if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then ## This patch is only needed for x86 computers, so we disable it for others patch -p1 -i "${srcdir}/0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch" fi + # maintain the TTY over USB disconnects + # http://www.coreboot.org/EHCI_Gadget_Debug + patch -p1 -i "${srcdir}/0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch" + cat "${srcdir}/config.${CARCH}" > ./.config # append pkgrel to extraversion diff --git a/kernels/linux-libre-lts-knock/config.armv7h b/kernels/linux-libre-lts-knock/config.armv7h index eeff18c59..4ece62c94 100644 --- a/kernels/linux-libre-lts-knock/config.armv7h +++ b/kernels/linux-libre-lts-knock/config.armv7h @@ -4546,7 +4546,7 @@ CONFIG_DISPLAY_PANEL_DPI=y CONFIG_DISPLAY_PANEL_SONY_ACX565AKM=m # CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02 is not set # CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01 is not set -# CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1 is not set +CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1=m # CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DISPLAY_PANEL_NEC_NL8048HL11 is not set CONFIG_EXYNOS_VIDEO=y @@ -5342,7 +5342,9 @@ CONFIG_USB_G_NOKIA=m CONFIG_USB_G_ACM_MS=m # CONFIG_USB_G_MULTI is not set CONFIG_USB_G_HID=m -# CONFIG_USB_G_DBGP is not set +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y CONFIG_USB_G_WEBCAM=m CONFIG_USB_LED_TRIG=y CONFIG_UWB=m |