From 8ad6a853f07554f1a1a56f339d01f50e6da4c628 Mon Sep 17 00:00:00 2001 From: Lukasz Rymanowski Date: Thu, 20 Nov 2014 16:55:10 +0100 Subject: [PATCH] shared/hfp: Improve handling AT command If for some reason there is more than one AT command in the ring buffer we should make sure that after upper layer sends result, AT parser gets back to reading data from ring buffer. --- src/shared/hfp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/shared/hfp.c b/src/shared/hfp.c index 3b6175980..42e4c6b0f 100644 --- a/src/shared/hfp.c +++ b/src/shared/hfp.c @@ -722,7 +722,14 @@ bool hfp_gw_send_result(struct hfp_gw *hfp, enum hfp_result result) wakeup_writer(hfp); - hfp->result_pending = false; + /* + * There might be already something to read in the ring buffer. + * If so, let's read it. + */ + if (hfp->result_pending) { + hfp->result_pending = false; + can_read_data(hfp->io, hfp); + } return true; } -- 2.47.3