Input: synaptics-rmi4 - use guard notation when pausing serio port in F03
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 5 Sep 2024 04:17:13 +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-9-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_f03.c

index 1e11ea3..e1157ff 100644 (file)
@@ -61,14 +61,14 @@ void rmi_f03_commit_buttons(struct rmi_function *fn)
        struct f03_data *f03 = dev_get_drvdata(&fn->dev);
        struct serio *serio = f03->serio;
 
-       serio_pause_rx(serio);
+       guard(serio_pause_rx)(serio);
+
        if (serio->drv) {
                serio->drv->interrupt(serio, PSMOUSE_OOB_EXTRA_BTNS,
                                      SERIO_OOB_DATA);
                serio->drv->interrupt(serio, f03->overwrite_buttons,
                                      SERIO_OOB_DATA);
        }
-       serio_continue_rx(serio);
 }
 
 static int rmi_f03_pt_write(struct serio *id, unsigned char val)