From fe36dec9a1e4056a08950f4cdf01ee60dde9b30b Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Sun, 25 Aug 2013 01:21:23 -0500 Subject: 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. --- drivers/hfpmodem/voicecall.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'drivers') 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, -- cgit v1.2.3