Input: elo - use guard notation when pausing serio port
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 5 Sep 2024 04:17:14 +0000 (21:17 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 4 Oct 2024 07:58:16 +0000 (00:58 -0700)
Using guard notation makes the code more compact and error handling
more robust by ensuring that serio ports are resumed in all code paths
when control leaves critical section.

Link: https://lore.kernel.org/r/20240905041732.2034348-10-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/elo.c

index eb883db..ad209e6 100644 (file)
@@ -225,10 +225,10 @@ static int elo_command_10(struct elo *elo, unsigned char *packet)
 
        mutex_lock(&elo->cmd_mutex);
 
-       serio_pause_rx(elo->serio);
-       elo->expected_packet = toupper(packet[0]);
-       init_completion(&elo->cmd_done);
-       serio_continue_rx(elo->serio);
+       scoped_guard(serio_pause_rx, elo->serio) {
+               elo->expected_packet = toupper(packet[0]);
+               init_completion(&elo->cmd_done);
+       }
 
        if (serio_write(elo->serio, ELO10_LEAD_BYTE))
                goto out;