tty: n_gsm: Fix bogus i++ in gsm_data_kick
authorGregory CLEMENT <gregory.clement@bootlin.com>
Mon, 18 May 2020 08:45:13 +0000 (10:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:50:29 +0000 (17:50 +0200)
[ Upstream commit 4dd31f1ffec6c370c3c2e0c605628bf5e16d5c46 ]

When submitting the previous fix "tty: n_gsm: Fix waking up upper tty
layer when room available". It was suggested to switch from a while to
a for loop, but when doing it, there was a remaining bogus i++.

This patch removes this i++ and also reorganizes the code making it more
compact.

Fixes: e1eaea46bb40 ("tty: n_gsm line discipline")
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Link: https://lore.kernel.org/r/20200518084517.2173242-3-gregory.clement@bootlin.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/tty/n_gsm.c

index 8a0d66a..75408b9 100644 (file)
@@ -703,17 +703,9 @@ static void gsm_data_kick(struct gsm_mux *gsm, struct gsm_dlci *dlci)
                } else {
                        int i = 0;
 
-                       for (i = 0; i < NUM_DLCI; i++) {
-                               struct gsm_dlci *dlci;
-
-                               dlci = gsm->dlci[i];
-                               if (dlci == NULL) {
-                                       i++;
-                                       continue;
-                               }
-
-                               tty_port_tty_wakeup(&dlci->port);
-                       }
+                       for (i = 0; i < NUM_DLCI; i++)
+                               if (gsm->dlci[i])
+                                       tty_port_tty_wakeup(&gsm->dlci[i]->port);
                }
        }
 }