diff --git a/drivers/hfpmodem/voicecall.c b/drivers/hfpmodem/voicecall.c index f0445520..85cd94e3 100644 --- a/drivers/hfpmodem/voicecall.c +++ b/drivers/hfpmodem/voicecall.c @@ -465,6 +465,12 @@ static void ccwa_notify(GAtResult *result, gpointer user_data) dump_response("ccwa_notify", TRUE, result); + /* CCWA can repeat, ignore if we already have an waiting call */ + if (g_slist_find_custom(vd->calls, + GINT_TO_POINTER(CALL_STATUS_WAITING), + at_util_call_compare_by_status)) + return; + g_at_result_iter_init(&iter, result); if (!g_at_result_iter_next(&iter, "+CCWA:"))