Return-Path: From: Szymon Janc To: Lukasz Rymanowski Cc: linux-bluetooth@vger.kernel.org Subject: Re: [PATCH 2/2] android/handsfree: Be more strict on SLC creation Date: Thu, 30 Oct 2014 11:23:45 +0100 Message-ID: <4224642.3qVV3Hzp2h@leonov> In-Reply-To: <1414624053-24250-2-git-send-email-lukasz.rymanowski@tieto.com> References: <1414624053-24250-1-git-send-email-lukasz.rymanowski@tieto.com> <1414624053-24250-2-git-send-email-lukasz.rymanowski@tieto.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Ɓukasz, On Thursday 30 of October 2014 00:07:33 Lukasz Rymanowski wrote: > In case of any issue during SLC creation lets just drop the link > --- > android/handsfree.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/android/handsfree.c b/android/handsfree.c > index 595919a..c8d3c04 100644 > --- a/android/handsfree.c > +++ b/android/handsfree.c > @@ -1251,6 +1251,9 @@ static void at_cmd_cind(struct hfp_gw_result *result, > enum hfp_gw_cmd_type type, } > > hfp_gw_send_result(dev->gw, HFP_RESULT_ERROR); > + > + if (dev->state != HAL_EV_HANDSFREE_CONN_STATE_SLC_CONNECTED) > + hfp_gw_disconnect(dev->gw); > } > > static void at_cmd_brsf(struct hfp_gw_result *result, enum hfp_gw_cmd_type > type, @@ -1280,6 +1283,9 @@ static void at_cmd_brsf(struct hfp_gw_result > *result, enum hfp_gw_cmd_type type, } > > hfp_gw_send_result(dev->gw, HFP_RESULT_ERROR); > + > + if (dev->state != HAL_EV_HANDSFREE_CONN_STATE_SLC_CONNECTED) > + hfp_gw_disconnect(dev->gw); > } > > static void at_cmd_chld(struct hfp_gw_result *result, enum hfp_gw_cmd_type > type, @@ -1319,6 +1325,9 @@ static void at_cmd_chld(struct hfp_gw_result > *result, enum hfp_gw_cmd_type type, } > > hfp_gw_send_result(dev->gw, HFP_RESULT_ERROR); > + > + if (dev->state != HAL_EV_HANDSFREE_CONN_STATE_SLC_CONNECTED) > + hfp_gw_disconnect(dev->gw); > } > > static struct hfp_codec *find_codec_by_type(struct hf_device *dev, uint8_t > type) @@ -1392,6 +1401,9 @@ static void at_cmd_bac(struct hfp_gw_result > *result, enum hfp_gw_cmd_type type, > > failed: > hfp_gw_send_result(dev->gw, HFP_RESULT_ERROR); > + > + if (dev->state != HAL_EV_HANDSFREE_CONN_STATE_SLC_CONNECTED) > + hfp_gw_disconnect(dev->gw); > } > > static void register_slc_at(struct hf_device *dev) In general I agree with dropping connection if there are any issues with SLC creation. But it looks like you miss AT+CMER command. -- BR Szymon Janc