summaryrefslogtreecommitdiff
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
parent8a11d389838dade71e09453b6c65a6c4ef5347d4 (diff)
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.
-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,