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.

Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com>
---
 drivers/input/rmi4/rmi_f03.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/rmi4/rmi_f03.c b/drivers/input/rmi4/rmi_f03.c
index 1e11ea30d7bd..e1157ff0f00a 100644
--- a/drivers/input/rmi4/rmi_f03.c
+++ b/drivers/input/rmi4/rmi_f03.c
@@ -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)
-- 
2.46.0.469.g59c65b2a67-goog


Reply via email to