mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
tty: hso: simplify hso_serial_write()
There is no need for two more variables in hso_serial_write(). Switch to min_t() and eliminate those. Furthermore, the 'if-goto' is superfluous as memcpy() of zero count is a nop. So is addition of zero. So remove the 'if-goto' completely. Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Paolo Abeni <pabeni@redhat.com> Link: https://lore.kernel.org/r/20230810091510.13006-36-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c3e5c706ae
commit
6fcd3b6728
1 changed files with 5 additions and 11 deletions
|
@ -1326,7 +1326,6 @@ static ssize_t hso_serial_write(struct tty_struct *tty, const u8 *buf,
|
|||
size_t count)
|
||||
{
|
||||
struct hso_serial *serial = tty->driver_data;
|
||||
int space, tx_bytes;
|
||||
unsigned long flags;
|
||||
|
||||
/* sanity check */
|
||||
|
@ -1337,21 +1336,16 @@ static ssize_t hso_serial_write(struct tty_struct *tty, const u8 *buf,
|
|||
|
||||
spin_lock_irqsave(&serial->serial_lock, flags);
|
||||
|
||||
space = serial->tx_data_length - serial->tx_buffer_count;
|
||||
tx_bytes = (count < space) ? count : space;
|
||||
count = min_t(size_t, serial->tx_data_length - serial->tx_buffer_count,
|
||||
count);
|
||||
memcpy(serial->tx_buffer + serial->tx_buffer_count, buf, count);
|
||||
serial->tx_buffer_count += count;
|
||||
|
||||
if (!tx_bytes)
|
||||
goto out;
|
||||
|
||||
memcpy(serial->tx_buffer + serial->tx_buffer_count, buf, tx_bytes);
|
||||
serial->tx_buffer_count += tx_bytes;
|
||||
|
||||
out:
|
||||
spin_unlock_irqrestore(&serial->serial_lock, flags);
|
||||
|
||||
hso_kick_transmit(serial);
|
||||
/* done */
|
||||
return tx_bytes;
|
||||
return count;
|
||||
}
|
||||
|
||||
/* how much room is there for writing */
|
||||
|
|
Loading…
Add table
Reference in a new issue