You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver updates from Greg KH:
"Here is the big tty and serial driver update for 4.4-rc1.
Lots of serial driver updates and a few small tty core changes. Full
details in the shortlog.
All of these have been in linux-next for a while"
* tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (148 commits)
tty: Use unbound workqueue for all input workers
tty: Abstract tty buffer work
tty: Prevent tty teardown during tty_write_message()
tty: core: Use correct spinlock flavor in tiocspgrp()
tty: Combine SIGTTOU/SIGTTIN handling
serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty()
ttyFDC: Fix build problems due to use of module_{init,exit}
tty: remove unneeded return statement
serial: 8250_mid: add support for DMA engine handling from UART MMIO
dmaengine: hsu: remove platform data
dmaengine: hsu: introduce stubs for the exported functions
dmaengine: hsu: make the UART driver in control of selecting this driver
serial: fix mctrl helper functions
serial: 8250_pci: Intel MID UART support to its own driver
serial: fsl_lpuart: add earlycon support
tty: disable unbind for old 74xx based serial/mpsc console port
serial: pl011: Spelling s/clocks-names/clock-names/
n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars
tty: synclink, fix indentation
serial: at91, fix rs485 properties
...
This commit is contained in:
@@ -335,8 +335,7 @@ static int ircomm_tty_block_til_ready(struct ircomm_tty_cb *self,
|
||||
* specified, we cannot return before the IrCOMM link is
|
||||
* ready
|
||||
*/
|
||||
if (!test_bit(ASYNCB_CLOSING, &port->flags) &&
|
||||
(do_clocal || tty_port_carrier_raised(port)) &&
|
||||
if ((do_clocal || tty_port_carrier_raised(port)) &&
|
||||
self->state == IRCOMM_TTY_READY)
|
||||
{
|
||||
break;
|
||||
@@ -443,34 +442,6 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp)
|
||||
/* Not really used by us, but lets do it anyway */
|
||||
self->port.low_latency = (self->port.flags & ASYNC_LOW_LATENCY) ? 1 : 0;
|
||||
|
||||
/*
|
||||
* If the port is the middle of closing, bail out now
|
||||
*/
|
||||
if (test_bit(ASYNCB_CLOSING, &self->port.flags)) {
|
||||
|
||||
/* Hm, why are we blocking on ASYNC_CLOSING if we
|
||||
* do return -EAGAIN/-ERESTARTSYS below anyway?
|
||||
* IMHO it's either not needed in the first place
|
||||
* or for some reason we need to make sure the async
|
||||
* closing has been finished - if so, wouldn't we
|
||||
* probably better sleep uninterruptible?
|
||||
*/
|
||||
|
||||
if (wait_event_interruptible(self->port.close_wait,
|
||||
!test_bit(ASYNCB_CLOSING, &self->port.flags))) {
|
||||
net_warn_ratelimited("%s - got signal while blocking on ASYNC_CLOSING!\n",
|
||||
__func__);
|
||||
return -ERESTARTSYS;
|
||||
}
|
||||
|
||||
#ifdef SERIAL_DO_RESTART
|
||||
return (self->port.flags & ASYNC_HUP_NOTIFY) ?
|
||||
-EAGAIN : -ERESTARTSYS;
|
||||
#else
|
||||
return -EAGAIN;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Check if this is a "normal" ircomm device, or an irlpt device */
|
||||
if (self->line < 0x10) {
|
||||
self->service_type = IRCOMM_3_WIRE | IRCOMM_9_WIRE;
|
||||
|
||||
Reference in New Issue
Block a user