diff options
| author | Greg Kroah-Hartman <gregkh@google.com> | 2021-08-15 13:06:25 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@google.com> | 2021-08-15 13:06:25 +0200 |
| commit | 77e0acef0c1ee450a6925c70473cb64381c800f0 (patch) | |
| tree | c54d05321b64ee6150ae3297ea5b185ee526e323 /drivers/tty | |
| parent | c5c38d81d47414adc49be96b02987da14f755a6a (diff) | |
| parent | c13f051b7fc041d3163a96b10441b421ddecd123 (diff) | |
Merge 4.4.281 into android-4.4-p
Changes in 4.4.281
ALSA: seq: Fix racy deletion of subscriber
scsi: sr: Return correct event when media event code is 3
media: videobuf2-core: dequeue if start_streaming fails
net: natsemi: Fix missing pci_disable_device() in probe and remove
mips: Fix non-POSIX regexp
bnx2x: fix an error code in bnx2x_nic_load()
net: pegasus: fix uninit-value in get_interrupt_interval
net: vxge: fix use-after-free in vxge_device_unregister
Bluetooth: defer cleanup of resources in hci_unregister_dev()
USB: serial: option: add Telit FD980 composition 0x1056
USB: serial: ch341: fix character loss at high transfer rates
USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2
scripts/tracing: fix the bug that can't parse raw_trace_func
media: rtl28xxu: fix zero-length control request
serial: 8250: Mask out floating 16/32-bit bus bits
MIPS: Malta: Do not byte-swap accesses to the CBUS UART
pcmcia: i82092: fix a null pointer dereference bug
reiserfs: add check for root_inode in reiserfs_fill_super
reiserfs: check directory items on read from disk
alpha: Send stop IPI to send to online CPUs
net/qla3xxx: fix schedule while atomic in ql_wait_for_drvr_lock and ql_adapter_reset
pipe: increase minimum default pipe size to 2 pages
USB:ehci:fix Kunpeng920 ehci hardware problem
net: xilinx_emaclite: Do not print real IOMEM pointer
ovl: prevent private clone if bind mount is not allowed
Linux 4.4.281
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I23014eec5c0648b030387cc4469a1cdfaa2c14a1
Diffstat (limited to 'drivers/tty')
| -rw-r--r-- | drivers/tty/serial/8250/8250_port.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c index fef1b9335f60..041bfe1d4191 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -274,7 +274,11 @@ configured less than Maximum supported fifo bytes */ /* Uart divisor latch read */ static int default_serial_dl_read(struct uart_8250_port *up) { - return serial_in(up, UART_DLL) | serial_in(up, UART_DLM) << 8; + /* Assign these in pieces to truncate any bits above 7. */ + unsigned char dll = serial_in(up, UART_DLL); + unsigned char dlm = serial_in(up, UART_DLM); + + return dll | dlm << 8; } /* Uart divisor latch write */ @@ -1160,9 +1164,11 @@ static void autoconfig(struct uart_8250_port *up) serial_out(up, UART_LCR, 0); serial_out(up, UART_FCR, UART_FCR_ENABLE_FIFO); - scratch = serial_in(up, UART_IIR) >> 6; - switch (scratch) { + /* Assign this as it is to truncate any bits above 7. */ + scratch = serial_in(up, UART_IIR); + + switch (scratch >> 6) { case 0: autoconfig_8250(up); break; |
