summaryrefslogtreecommitdiffstats
path: root/drivers/tty/synclink_gt.c
diff options
context:
space:
mode:
authorJiri Slaby (SUSE) <jirislaby@kernel.org>2023-04-20 11:35:30 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-04-20 13:32:53 +0200
commitee13ea33e066507a374a0d091034f1150e9d0c07 (patch)
treebd163cf1c88daef404c6dcdb3bc0bd7b3f06ff19 /drivers/tty/synclink_gt.c
parenttty: serial: simplify qcom_geni_serial_send_chunk_fifo() (diff)
downloadlinux-ee13ea33e066507a374a0d091034f1150e9d0c07.tar.xz
linux-ee13ea33e066507a374a0d091034f1150e9d0c07.zip
tty: synclink_gt: don't allocate and pass dummy flags
In synclinc_gt, the flag_buf is allocated, zeroed and passed to ldisc's receive_buf(). It is never written to, so it serves as a dummy buffer. That's unneeded because all ldiscs accept NULL as flags. That NULL resolves to the TTY_NORMAL flag. So drop all this nonsense. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://lore.kernel.org/r/20230420093530.13133-1-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/synclink_gt.c')
-rw-r--r--drivers/tty/synclink_gt.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 543b3224dce9..16e469e581ec 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -287,7 +287,6 @@ struct slgt_info {
unsigned char *tx_buf;
int tx_count;
- char *flag_buf;
bool drop_rts_on_tx_done;
struct _input_signal_events input_signal_events;
@@ -3244,13 +3243,7 @@ static int alloc_tmp_rbuf(struct slgt_info *info)
info->tmp_rbuf = kmalloc(info->max_frame_size + 5, GFP_KERNEL);
if (info->tmp_rbuf == NULL)
return -ENOMEM;
- /* unused flag buffer to satisfy receive_buf calling interface */
- info->flag_buf = kzalloc(info->max_frame_size + 5, GFP_KERNEL);
- if (!info->flag_buf) {
- kfree(info->tmp_rbuf);
- info->tmp_rbuf = NULL;
- return -ENOMEM;
- }
+
return 0;
}
@@ -3258,8 +3251,6 @@ static void free_tmp_rbuf(struct slgt_info *info)
{
kfree(info->tmp_rbuf);
info->tmp_rbuf = NULL;
- kfree(info->flag_buf);
- info->flag_buf = NULL;
}
/*
@@ -4657,7 +4648,8 @@ check_again:
hdlcdev_rx(info,info->tmp_rbuf, framesize);
else
#endif
- ldisc_receive_buf(tty, info->tmp_rbuf, info->flag_buf, framesize);
+ ldisc_receive_buf(tty, info->tmp_rbuf, NULL,
+ framesize);
}
}
free_rbufs(info, start, end);
@@ -4691,8 +4683,8 @@ static bool rx_get_buf(struct slgt_info *info)
DBGDATA(info, info->rbufs[i].buf, count, "rx");
DBGINFO(("rx_get_buf size=%d\n", count));
if (count)
- ldisc_receive_buf(info->port.tty, info->rbufs[i].buf,
- info->flag_buf, count);
+ ldisc_receive_buf(info->port.tty, info->rbufs[i].buf, NULL,
+ count);
free_rbufs(info, i, i);
return true;
}