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 <[email protected]>
---
 drivers/input/touchscreen/elo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c
index eb883db55420..ad209e6e82a6 100644
--- a/drivers/input/touchscreen/elo.c
+++ b/drivers/input/touchscreen/elo.c
@@ -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;
-- 
2.46.0.469.g59c65b2a67-goog


Reply via email to