Diff between ca4364f488bbe0f4c739a5195541908f00ebe673 and 3eb3d396a7265c3a6d579d5a51c836eabece22f7

Changed Files

File Additions Deletions Status
android/handsfree.c +4 -0 modified

Full Patch

diff --git a/android/handsfree.c b/android/handsfree.c
index 89dceb9..f1ad5fe 100644
--- a/android/handsfree.c
+++ b/android/handsfree.c
@@ -2403,6 +2403,10 @@ static void phone_state_idle(struct hf_device *dev, int num_active,
 					num_held ? (num_active ? 1 : 2) : 0);
 
 		update_indicator(dev, IND_CALLSETUP, 0);
+
+		/* disconnect SCO if we hang up while dialing or alerting */
+		if (num_active == 0 && num_held == 0)
+			disconnect_sco(dev);
 		break;
 	case HAL_HANDSFREE_CALL_STATE_IDLE:
 		if (dev->call_hanging_up) {