]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: atkbd - use guard notation when pausing serio port
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 5 Sep 2024 04:17:11 +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-7-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/atkbd.c

index 5855d4fc6e6a4de4be73346feb0240af369ed53d..ec94fcfa4cdebe414ceed02efc2322a534916c78 100644 (file)
@@ -713,9 +713,9 @@ static int atkbd_event(struct input_dev *dev,
 
 static inline void atkbd_enable(struct atkbd *atkbd)
 {
-       serio_pause_rx(atkbd->ps2dev.serio);
+       guard(serio_pause_rx)(atkbd->ps2dev.serio);
+
        atkbd->enabled = true;
-       serio_continue_rx(atkbd->ps2dev.serio);
 }
 
 /*
@@ -725,9 +725,9 @@ static inline void atkbd_enable(struct atkbd *atkbd)
 
 static inline void atkbd_disable(struct atkbd *atkbd)
 {
-       serio_pause_rx(atkbd->ps2dev.serio);
+       guard(serio_pause_rx)(atkbd->ps2dev.serio);
+
        atkbd->enabled = false;
-       serio_continue_rx(atkbd->ps2dev.serio);
 }
 
 static int atkbd_activate(struct atkbd *atkbd)