Input: byd - use guard notation when pausing serio port
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 5 Sep 2024 04:17:09 +0000 (21:17 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 4 Oct 2024 07:58:15 +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-5-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/byd.c

index 221a553..654b38d 100644 (file)
@@ -254,13 +254,12 @@ static void byd_clear_touch(struct timer_list *t)
        struct byd_data *priv = from_timer(priv, t, timer);
        struct psmouse *psmouse = priv->psmouse;
 
-       serio_pause_rx(psmouse->ps2dev.serio);
+       guard(serio_pause_rx)(psmouse->ps2dev.serio);
+
        priv->touch = false;
 
        byd_report_input(psmouse);
 
-       serio_continue_rx(psmouse->ps2dev.serio);
-
        /*
         * Move cursor back to center of pad when we lose touch - this
         * specifically improves user experience when moving cursor with one