From 98f1823b3f48261e0edf5df0d306927e5538cb48 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Thu, 5 Feb 2015 16:07:11 +0100 Subject: [PATCH] shared/hfp: Fix not processing input from hfp_gw_send_error If for some reason there is more than one AT command in the ring buffer we should make sure that after upper layer sends error, AT parser gets back to reading data from ring buffer. Same is already done in hfp_gw_send_result() and we should handle this in error response as well. --- 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 90e17c7f0..74ee979c1 100644 --- a/src/shared/hfp.c +++ b/src/shared/hfp.c @@ -778,7 +778,14 @@ bool hfp_gw_send_error(struct hfp_gw *hfp, enum hfp_error error) 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; + process_input(hfp); + } return true; } -- 2.47.3