Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a0a3a6b authored by Tilman Schmidt's avatar Tilman Schmidt Committed by David S. Miller
Browse files

gigaset: correct clearing of at_state strings on RING



In RING handling, clear the table of received parameter strings in
a loop like everywhere else, instead of by enumeration which had
already gotten out of sync.

Impact: minor bugfix
Signed-off-by: default avatarTilman Schmidt <tilman@imap.cc>
Acked-by: default avatarKarsten Keil <keil@b1-systems.de>
CC: stable@kernel.org
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bc35b4e3
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -1258,14 +1258,10 @@ static void do_action(int action, struct cardstate *cs,
		 * note that bcs may be NULL if no B channel is free
		 */
		at_state2->ConState = 700;
		kfree(at_state2->str_var[STR_NMBR]);
		at_state2->str_var[STR_NMBR] = NULL;
		kfree(at_state2->str_var[STR_ZCPN]);
		at_state2->str_var[STR_ZCPN] = NULL;
		kfree(at_state2->str_var[STR_ZBC]);
		at_state2->str_var[STR_ZBC] = NULL;
		kfree(at_state2->str_var[STR_ZHLC]);
		at_state2->str_var[STR_ZHLC] = NULL;
		for (i = 0; i < STR_NUM; ++i) {
			kfree(at_state2->str_var[i]);
			at_state2->str_var[i] = NULL;
		}
		at_state2->int_var[VAR_ZCTP] = -1;

		spin_lock_irqsave(&cs->lock, flags);