<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/tty/serial, branch v4.4.8</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.4.8</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.4.8'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-04-12T16:08:49+00:00</updated>
<entry>
<title>8250: use callbacks to access UART_DLL/UART_DLM</title>
<updated>2016-04-12T16:08:49+00:00</updated>
<author>
<name>Sebastian Frias</name>
<email>sf84@laposte.net</email>
</author>
<published>2015-12-18T16:40:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fc0768092cebd0b70a08f5423263669ea3849ef9'/>
<id>urn:sha1:fc0768092cebd0b70a08f5423263669ea3849ef9</id>
<content type='text'>
commit 0b41ce991052022c030fd868e03877700220b090 upstream.

Some UART HW has a single register combining UART_DLL/UART_DLM
(this was probably forgotten in the change that introduced the
callbacks, commit b32b19b8ffc05cbd3bf91c65e205f6a912ca15d9)

Fixes: b32b19b8ffc0 ("[SERIAL] 8250: set divisor register correctly ...")

Signed-off-by: Sebastian Frias &lt;sf84@laposte.net&gt;
Reviewed-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485)</title>
<updated>2016-02-25T20:01:14+00:00</updated>
<author>
<name>Peter Hurley</name>
<email>peter@hurleysoftware.com</email>
</author>
<published>2016-01-12T23:14:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5859b9077763ea1c3f4db47522bdcf300aedb080'/>
<id>urn:sha1:5859b9077763ea1c3f4db47522bdcf300aedb080</id>
<content type='text'>
commit 308bbc9ab838d0ace0298268c7970ba9513e2c65 upstream.

The omap-serial driver emulates RS485 delays using software timers,
but neglects to clamp the input values from the unprivileged
ioctl(TIOCSRS485). Because the software implementation busy-waits,
malicious userspace could stall the cpu for ~49 days.

Clamp the input values to &lt; 100ms.

Fixes: 4a0ac0f55b18 ("OMAP: add RS485 support")
Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial: 8250_pci: Add Intel Broadwell ports</title>
<updated>2016-02-25T20:01:14+00:00</updated>
<author>
<name>Mika Westerberg</name>
<email>mika.westerberg@linux.intel.com</email>
</author>
<published>2016-01-29T14:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=76e88140aa9111605768e7725ec1c5b709d51865'/>
<id>urn:sha1:76e88140aa9111605768e7725ec1c5b709d51865</id>
<content type='text'>
commit 6c55d9b98335f7f6bd5f061866ff1633401f3a44 upstream.

Some recent (early 2015) macbooks have Intel Broadwell where LPSS UARTs are
PCI enumerated instead of ACPI. The LPSS UART block is pretty much same as
used on Intel Baytrail so we can reuse the existing Baytrail setup code.

Add both Broadwell LPSS UART ports to the list of supported devices.

Signed-off-by: Leif Liddy &lt;leif.liddy@gmail.com&gt;
Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: Add support for PCIe WCH382 2S multi-IO card</title>
<updated>2016-02-25T20:01:14+00:00</updated>
<author>
<name>Jeremy McNicoll</name>
<email>jmcnicol@redhat.com</email>
</author>
<published>2016-02-02T21:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=124efa9fd5679ed68fd69e5b899e55b0452c68a4'/>
<id>urn:sha1:124efa9fd5679ed68fd69e5b899e55b0452c68a4</id>
<content type='text'>
commit 7dde55787b43a8f2b4021916db38d90c03a2ec64 upstream.

WCH382 2S board is a PCIe card with 2 DB9 COM ports detected as
Serial controller: Device 1c00:3253 (rev 10) (prog-if 05 [16850])

Signed-off-by: Jeremy McNicoll &lt;jmcnicol@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc</title>
<updated>2015-12-25T21:15:23+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-12-25T21:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=682cb0cd82d526b5d1e8ceaccda4d9b7795db553'/>
<id>urn:sha1:682cb0cd82d526b5d1e8ceaccda4d9b7795db553</id>
<content type='text'>
Pull sparc fixes from David Miller:

 1) Finally make perf stack backtraces stable on sparc, several problems
    (mostly due to the context in which the user copies from the stack
    are done) contributed to this.

    From Rob Gardner.

 2) Export ADI capability if the cpu supports it.

 3) Hook up userfaultfd system call.

 4) When faults happen during user copies we really have to clean up and
    restore the FPU state fully.  Also from Rob Gardner

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  tty/serial: Skip 'NULL' char after console break when sysrq enabled
  sparc64: fix FP corruption in user copy functions
  sparc64: Perf should save/restore fault info
  sparc64: Ensure perf can access user stacks
  sparc64: Don't set %pil in rtrap_nmi too early
  sparc64: Add ADI capability to cpu capabilities
  tty: serial: constify sunhv_ops structs
  sparc: Hook up userfaultfd system call
</content>
</entry>
<entry>
<title>tty/serial: Skip 'NULL' char after console break when sysrq enabled</title>
<updated>2015-12-24T17:13:37+00:00</updated>
<author>
<name>Vijay Kumar</name>
<email>vijay.ac.kumar@oracle.com</email>
</author>
<published>2015-12-23T18:55:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=079317a65d05ce52b69b7d47fe1fb419d40a4395'/>
<id>urn:sha1:079317a65d05ce52b69b7d47fe1fb419d40a4395</id>
<content type='text'>
When sysrq is triggered from console, serial driver for SUN hypervisor
console receives a console break and enables the sysrq. It expects a valid
sysrq char following with break. Meanwhile if driver receives 'NULL'
ASCII char then it disables sysrq and sysrq handler will never be invoked.

This fix skips calling uart sysrq handler when 'NULL' is received while
sysrq is enabled.

Signed-off-by: Vijay Kumar &lt;vijay.ac.kumar@oracle.com&gt;
Acked-by: Karl Volz &lt;karl.volz@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tty: serial: constify sunhv_ops structs</title>
<updated>2015-12-24T17:04:18+00:00</updated>
<author>
<name>Aya Mahfouz</name>
<email>mahfouz.saif.elyazal@gmail.com</email>
</author>
<published>2015-12-14T23:37:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=01fd3c2744540ae7554bf098a9615a8310c6fc13'/>
<id>urn:sha1:01fd3c2744540ae7554bf098a9615a8310c6fc13</id>
<content type='text'>
Constifies sunhv_ops structures in tty's serial
driver since they are not modified after their
initialization.

Detected and found using Coccinelle.

Suggested-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Aya Mahfouz &lt;mahfouz.saif.elyazal@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>serial: earlycon: Add missing spinlock initialization</title>
<updated>2015-12-13T07:05:28+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2015-11-27T10:13:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e1dd3bef6d03c908b173259229b96074d57fccc8'/>
<id>urn:sha1:e1dd3bef6d03c908b173259229b96074d57fccc8</id>
<content type='text'>
If an earlycon console driver needs to acquire the uart_port.lock
spinlock for serial console output, and CONFIG_DEBUG_SPINLOCK=y:

    BUG: spinlock bad magic on CPU#0, swapper/0
     lock: sci_ports+0x0/0x3480, .magic: 00000000, .owner: &lt;none&gt;/-1, .owner_cpu: 0
    CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc2-koelsch-g62ea5edf143bb1d0-dirty #2083
    Hardware name: Generic R8A7791 (Flattened Device Tree)
    [&lt;c00173a0&gt;] (unwind_backtrace) from [&lt;c0013094&gt;] (show_stack+0x10/0x14)
    [&lt;c0013094&gt;] (show_stack) from [&lt;c01f2338&gt;] (dump_stack+0x70/0x8c)
    [&lt;c01f2338&gt;] (dump_stack) from [&lt;c00702d8&gt;] (do_raw_spin_lock+0x20/0x190)
    [&lt;c00702d8&gt;] (do_raw_spin_lock) from [&lt;c0267590&gt;] (serial_console_write+0x4c/0x130)
    [&lt;c0267590&gt;] (serial_console_write) from [&lt;c00734c4&gt;] (call_console_drivers.constprop.13+0xc8/0xec)
    [&lt;c00734c4&gt;] (call_console_drivers.constprop.13) from [&lt;c0074ef0&gt;] (console_unlock+0x354/0x440)
    [&lt;c0074ef0&gt;] (console_unlock) from [&lt;c0075bb4&gt;] (register_console+0x2a0/0x394)
    [&lt;c0075bb4&gt;] (register_console) from [&lt;c06cb750&gt;] (of_setup_earlycon+0x90/0xa4)
    [&lt;c06cb750&gt;] (of_setup_earlycon) from [&lt;c06cfb60&gt;] (setup_of_earlycon+0x118/0x13c)
    [&lt;c06cfb60&gt;] (setup_of_earlycon) from [&lt;c06b34ac&gt;] (do_early_param+0x64/0xb4)
    [&lt;c06b34ac&gt;] (do_early_param) from [&lt;c00472c0&gt;] (parse_args+0x254/0x350)
    [&lt;c00472c0&gt;] (parse_args) from [&lt;c06b3860&gt;] (parse_early_options+0x2c/0x3c)
    [&lt;c06b3860&gt;] (parse_early_options) from [&lt;c06b389c&gt;] (parse_early_param+0x2c/0x40)
    [&lt;c06b389c&gt;] (parse_early_param) from [&lt;c06b5b08&gt;] (setup_arch+0x520/0xaf0)
    [&lt;c06b5b08&gt;] (setup_arch) from [&lt;c06b3948&gt;] (start_kernel+0x94/0x370)
    [&lt;c06b3948&gt;] (start_kernel) from [&lt;40008090&gt;] (0x40008090)

Initialize the spinlock in of_setup_earlycon() and register_earlycon(),
to fix this for both DT-based and legacy earlycon.  If the driver would
reinitialize the spinlock again, this is harmless, as it's allowed to
reinitialize an unlocked spinlock.

Alternatives are:
  - Drivers having an early_serial_console_write() that only performs
    the core functionality of serial_console_write(), without acquiring
    the lock (which may be unsafe, depending on the hardware),
  - Drivers initializing the spinlock in their private earlycon setup
    functions.

As uart_port is owned by generic serial_core, and uart_port.lock is
initialized by uart_add_one_port() for the normal case, this can better
be handled in the earlycon core.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Reported-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: sh-sci: Fix length of scatterlist</title>
<updated>2015-12-13T05:42:31+00:00</updated>
<author>
<name>Yoshihiro Shimoda</name>
<email>yoshihiro.shimoda.uh@renesas.com</email>
</author>
<published>2015-12-04T14:21:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d09959e7529451a1c302197fb1396ed5b835f6d3'/>
<id>urn:sha1:d09959e7529451a1c302197fb1396ed5b835f6d3</id>
<content type='text'>
This patch fixes an issue that the "length" of scatterlist should be
set using sg_dma_len(). Otherwise, a dmaengine driver cannot work
correctly if CONFIG_NEED_SG_DMA_LENGTH=y.

Fixes: 7b39d90184 (serial: sh-sci: Fix NULL pointer dereference if HIGHMEM is enabled)
Signed-off-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Acked-by: Simon Horman &lt;horms+renesas@verge.net.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: 8250_uniphier: fix dl_read and dl_write functions</title>
<updated>2015-12-13T05:42:31+00:00</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2015-10-19T04:37:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7be047e035dc4fb1536f1694cbb932f881533ab2'/>
<id>urn:sha1:7be047e035dc4fb1536f1694cbb932f881533ab2</id>
<content type='text'>
The register offset must be shifted by regshift, otherwise the
baudrate is not set.  I missed the issue probably because the
divisor register was already set by the boot loader.

Fixes: 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver")
Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
