summaryrefslogtreecommitdiffstats
path: root/drivers/hfpmodem
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2013-08-25 01:21:23 -0500
committerDenis Kenzior <denkenz@gmail.com>2013-08-25 01:21:23 -0500
commitfe36dec9a1e4056a08950f4cdf01ee60dde9b30b (patch)
tree4ec9d2f5736ad316474ff952935a0967d920b98c /drivers/hfpmodem
parent8a11d389838dade71e09453b6c65a6c4ef5347d4 (diff)
downloadofono-fe36dec9a1e4056a08950f4cdf01ee60dde9b30b.tar.bz2
hfp: Fix up disconnect reason handling for +CHUP
The affected call types for +CHUP were set to only ACTIVE calls. Instead the affected set should include INCOMING, DIALING, ALERTING and ACTIVE calls. Thanks to Ionut Dediu for the diagnosing and reporting this issue.
Diffstat (limited to 'drivers/hfpmodem')
-rw-r--r--drivers/hfpmodem/voicecall.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hfpmodem/voicecall.c b/drivers/hfpmodem/voicecall.c
index 33dd05ec..39db69cd 100644
--- a/drivers/hfpmodem/voicecall.c
+++ b/drivers/hfpmodem/voicecall.c
@@ -430,8 +430,13 @@ static void hfp_answer(struct ofono_voicecall *vc,
static void hfp_hangup(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data)
{
+ unsigned int affected = (1 << CALL_STATUS_INCOMING) |
+ (1 << CALL_STATUS_DIALING) |
+ (1 << CALL_STATUS_ALERTING) |
+ (1 << CALL_STATUS_ACTIVE);
+
/* Hangup current active call */
- hfp_template("AT+CHUP", vc, generic_cb, 0x1, cb, data);
+ hfp_template("AT+CHUP", vc, generic_cb, affected, cb, data);
}
static void hfp_hold_all_active(struct ofono_voicecall *vc,