aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/gigaset
diff options
context:
space:
mode:
authorTilman Schmidt <tilman@imap.cc>2013-01-21 06:57:20 -0500
committerDavid S. Miller <davem@davemloft.net>2013-01-21 17:36:25 -0500
commitd2ca8481941efca3300227f0a60003af21ad2895 (patch)
tree3c37a3667166f58d0ae0db48143c93c92d8d72ce /drivers/isdn/gigaset
parent03f18285cd2c2c065c6f5a4046e1eee0b45e4e0e (diff)
isdn/gigaset: leave DLE mode before hanging up
Some firmware releases of Gigaset M105 do not accept AT+VLS=0 command in DLE mode, so always leave DLE mode before sending the command. Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn/gigaset')
-rw-r--r--drivers/isdn/gigaset/ev-layer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/isdn/gigaset/ev-layer.c b/drivers/isdn/gigaset/ev-layer.c
index 2e6963dc740e..e2383ece8e2e 100644
--- a/drivers/isdn/gigaset/ev-layer.c
+++ b/drivers/isdn/gigaset/ev-layer.c
@@ -1693,6 +1693,11 @@ static void process_command_flags(struct cardstate *cs)
1693 for (i = 0; i < cs->channels; ++i) { 1693 for (i = 0; i < cs->channels; ++i) {
1694 bcs = cs->bcs + i; 1694 bcs = cs->bcs + i;
1695 if (bcs->at_state.pending_commands & PC_HUP) { 1695 if (bcs->at_state.pending_commands & PC_HUP) {
1696 if (cs->dle) {
1697 cs->curchannel = bcs->channel;
1698 schedule_sequence(cs, &cs->at_state, SEQ_DLE0);
1699 return;
1700 }
1696 bcs->at_state.pending_commands &= ~PC_HUP; 1701 bcs->at_state.pending_commands &= ~PC_HUP;
1697 if (bcs->at_state.pending_commands & PC_CID) { 1702 if (bcs->at_state.pending_commands & PC_CID) {
1698 /* not yet dialing: PC_NOCID is sufficient */ 1703 /* not yet dialing: PC_NOCID is sufficient */