amiserial: use memset to zero serial_state
authorJiri Slaby <jslaby@suse.cz>
Wed, 14 Jul 2021 09:13:09 +0000 (11:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Jul 2021 10:49:51 +0000 (12:49 +0200)
Zeroing each member of struct serial_state in probe is fragile and
overly complicated. Do one memset for them all.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210714091314.8292-6-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/amiserial.c

index 68f8cee..558c776 100644 (file)
@@ -1527,13 +1527,8 @@ static int __init amiga_serial_probe(struct platform_device *pdev)
        tty_set_operations(serial_driver, &serial_ops);
 
        state = rs_table;
+       memset(state, 0, sizeof(*state));
        state->port = (int)&custom.serdatr; /* Just to give it a value */
-       state->custom_divisor = 0;
-       state->icount.cts = state->icount.dsr = 
-         state->icount.rng = state->icount.dcd = 0;
-       state->icount.rx = state->icount.tx = 0;
-       state->icount.frame = state->icount.parity = 0;
-       state->icount.overrun = state->icount.brk = 0;
        tty_port_init(&state->tport);
        state->tport.ops = &amiga_port_ops;
        tty_port_link_device(&state->tport, serial_driver, 0);