diff options
author | Tilman Schmidt <tilman@imap.cc> | 2013-01-21 06:57:20 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-21 17:36:25 -0500 |
commit | d2ca8481941efca3300227f0a60003af21ad2895 (patch) | |
tree | 3c37a3667166f58d0ae0db48143c93c92d8d72ce /drivers | |
parent | 03f18285cd2c2c065c6f5a4046e1eee0b45e4e0e (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')
-rw-r--r-- | drivers/isdn/gigaset/ev-layer.c | 5 |
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 */ |