mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: alexander.levin@verizon.com
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: Lukas Wunner <lukas@wunner.de>,
	Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>,
	"Ji-Ze Hong (Peter Hong)" <hpeter@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	alexander.levin@verizon.com
Subject: [PATCH AUTOSEL for 4.9 06/24] serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
Date: Wed, 22 Nov 2017 22:26:11 +0000	[thread overview]
Message-ID: <20171122222604.20122-6-alexander.levin@verizon.com> (raw)
In-Reply-To: <20171122222604.20122-1-alexander.levin@verizon.com>

From: Lukas Wunner <lukas@wunner.de>

[ Upstream commit 3236a965486ba0c6043cf2c7b51943d8b382ae29 ]

This driver's ->rs485_config callback checks if SER_RS485_RTS_ON_SEND
and SER_RS485_RTS_AFTER_SEND have the same value.  If they do, it means
the user has passed in invalid data with the TIOCSRS485 ioctl()
since RTS must have a different polarity when sending and when not
sending.  In this case, rs485 mode is not enabled (the RS485_URA bit
is not set in the RS485 Enable Register) and this is supposed to be
signaled back to the user by clearing the SER_RS485_ENABLED bit in
struct serial_rs485 ... except a missing tilde character is preventing
that from happening.

Fixes: 28e3fb6c4dce ("serial: Add support for Fintek F81216A LPC to 4 UART")
Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Cc: "Ji-Ze Hong (Peter Hong)" <hpeter@gmail.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/tty/serial/8250/8250_fintek.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/8250/8250_fintek.c b/drivers/tty/serial/8250/8250_fintek.c
index 0facc789fe7d..9fc782642a36 100644
--- a/drivers/tty/serial/8250/8250_fintek.c
+++ b/drivers/tty/serial/8250/8250_fintek.c
@@ -118,7 +118,7 @@ static int fintek_8250_rs485_config(struct uart_port *port,
 
 	if ((!!(rs485->flags & SER_RS485_RTS_ON_SEND)) ==
 			(!!(rs485->flags & SER_RS485_RTS_AFTER_SEND)))
-		rs485->flags &= SER_RS485_ENABLED;
+		rs485->flags &= ~SER_RS485_ENABLED;
 	else
 		config |= RS485_URA;
 
-- 
2.11.0

  parent reply	other threads:[~2017-11-22 22:28 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22 22:26 [PATCH AUTOSEL for 4.9 01/24] ima: fix hash algorithm initialization alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 02/24] s390/pci: do not require AIS facility alexander.levin
2017-11-22 22:26 ` alexander.levin [this message]
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 03/24] selftests/x86/ldt_get: Add a few additional tests for limits alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 04/24] staging: greybus: loopback: Fix iteration count on async path alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 05/24] m68k: fix ColdFire node shift size calculation alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 08/24] spi: sh-msiof: Fix DMA transfer size check alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 09/24] spi: spi-axi: fix potential use-after-free after deregistration alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 10/24] mmc: sdhci-msm: fix issue with power irq alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 07/24] staging: rtl8188eu: avoid a null dereference on pmlmepriv alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 12/24] usb: dwc2: Error out of dwc2_hsotg_ep_disable() if we're in host mode alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 11/24] usb: dwc2: Fix UDC state tracking alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 14/24] serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 13/24] usb: phy: tahvo: fix error handling in tahvo_usb_probe() alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 15/24] kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 17/24] irqchip/gic: Make quirks matching conditional on init return value alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 18/24] EDAC, sb_edac: Fix missing break in switch alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 16/24] x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt() alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 19/24] sysrq : fix Show Regs call trace on ARM alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 20/24] usbip: tools: Install all headers needed for libusbip development alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 22/24] kprobes/x86: Disable preemption in ftrace-based jprobes alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 21/24] perf test attr: Fix ignored test case result alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 23/24] tools include: Do not use poison with C++ alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 24/24] iio: adc: ti-ads1015: add 10% to conversion wait time alexander.levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171122222604.20122-6-alexander.levin@verizon.com \
    --to=alexander.levin@verizon.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpeter@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=ricardo.ribalda@gmail.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®