mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
staging: fwserial: fix TIOCGSERIAL implementation
[ Upstream commit5e84a66f36] TIOCSSERIAL is a horrid, underspecified, legacy interface which for most serial devices is only useful for setting the close_delay and closing_wait parameters. The xmit_fifo_size parameter could be used to set the hardware transmit fifo size of a legacy UART when it could not be detected, but the interface is limited to eight bits and should be left unset when not used. Fix the fwserial implementation by dropping its custom interpretation of the unused xmit_fifo_size field, which was overflowed with the driver FIFO size. Also leave the type and flags fields unset as these cannot be changed. The close_delay and closing_wait parameters returned by TIOCGSERIAL are specified in centiseconds. The driver does not yet support changing closing_wait, but let's report back the default value actually used (30 seconds). Fixes:7355ba3445("staging: fwserial: Add TTY-over-Firewire serial driver") Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://lore.kernel.org/r/20210407102334.32361-5-johan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e08a24ae25
commit
2c3ce3d84e
@@ -1218,13 +1218,12 @@ static int get_serial_info(struct tty_struct *tty,
|
||||
struct fwtty_port *port = tty->driver_data;
|
||||
|
||||
mutex_lock(&port->port.mutex);
|
||||
ss->type = PORT_UNKNOWN;
|
||||
ss->line = port->port.tty->index;
|
||||
ss->flags = port->port.flags;
|
||||
ss->xmit_fifo_size = FWTTY_PORT_TXFIFO_LEN;
|
||||
ss->line = port->index;
|
||||
ss->baud_base = 400000000;
|
||||
ss->close_delay = jiffies_to_msecs(port->port.close_delay) / 10;
|
||||
ss->closing_wait = 3000;
|
||||
mutex_unlock(&port->port.mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user