Return-path: Received: from mail-pa0-f49.google.com ([209.85.220.49]:35790 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751586AbbKIJ3j (ORCPT ); Mon, 9 Nov 2015 04:29:39 -0500 Received: by pasz6 with SMTP id z6so199557746pas.2 for ; Mon, 09 Nov 2015 01:29:38 -0800 (PST) Subject: Re: [PATCH 3/5] wcn36xx: handle new hal response format To: andy.green@linaro.org, linux-wireless@vger.kernel.org, wcn36xx@lists.infradead.org, me@bobcopeland.com, k.eugene.e@gmail.com, bjorn.andersson@sonymobile.com References: <1447063362-27322-1-git-send-email-fengwei.yin@linaro.org> <1447063362-27322-4-git-send-email-fengwei.yin@linaro.org> From: "fengwei.yin" Message-ID: <5640677E.8050607@linaro.org> (sfid-20151109_102942_981305_7C093482) Date: Mon, 9 Nov 2015 17:29:34 +0800 MIME-Version: 1.0 In-Reply-To: <1447063362-27322-4-git-send-email-fengwei.yin@linaro.org> Content-Type: text/plain; charset=windows-1252; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: On 2015/11/9 18:02, Yin, Fengwei wrote: > From: Andy Green > > From: Andy Green > > wcn3620 has a new message structure for the reply to some hal > commands. This patch adds the struct and helper routine that > uses it if the chip is wcn3620, or falls back to the old > helper routine. > > We don't know what to do with the candidate list he sends back, > but we can at least accept and ignore it nicely instead of dying. > > Signed-off-by: Andy Green > --- > drivers/net/wireless/ath/wcn36xx/smd.c | 17 +++++++++++++++++ > drivers/net/wireless/ath/wcn36xx/smd.h | 9 +++++++++ > 2 files changed, 26 insertions(+) > > diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c > index be317f4..a84c2cc 100644 > --- a/drivers/net/wireless/ath/wcn36xx/smd.c > +++ b/drivers/net/wireless/ath/wcn36xx/smd.c > @@ -302,6 +302,23 @@ static int wcn36xx_smd_rsp_status_check(void *buf, size_t len) > return 0; > } > > +static int wcn36xx_smd_rsp_status_check_v2(struct wcn36xx *wcn, void *buf, > + size_t len) > +{ > + struct wcn36xx_fw_msg_status_rsp_v2 *rsp; > + > + if (wcn->chip_version != WCN36XX_CHIP_3620 || > + len < sizeof(struct wcn36xx_hal_msg_header) + sizeof(*rsp)) > + return wcn36xx_smd_rsp_status_check(buf, len); > + > + rsp = buf + sizeof(struct wcn36xx_hal_msg_header); > + > + if (WCN36XX_FW_MSG_RESULT_SUCCESS != rsp->status) > + return rsp->status; > + > + return 0; > +} > + > int wcn36xx_smd_load_nv(struct wcn36xx *wcn) > { > struct nv_data *nv_d; > diff --git a/drivers/net/wireless/ath/wcn36xx/smd.h b/drivers/net/wireless/ath/wcn36xx/smd.h > index 008d034..8361f9e 100644 > --- a/drivers/net/wireless/ath/wcn36xx/smd.h > +++ b/drivers/net/wireless/ath/wcn36xx/smd.h > @@ -44,6 +44,15 @@ struct wcn36xx_fw_msg_status_rsp { > u32 status; > } __packed; > > +/* wcn3620 returns this for tigger_ba */ > + > +struct wcn36xx_fw_msg_status_rsp_v2 { > + u8 bss_id[6]; > + u32 status __packed; > + u16 count_following_candidates __packed; > + /* candidate list follows */ > +}; > + > struct wcn36xx_hal_ind_msg { > struct list_head list; > u8 *msg; > I got message from kbuild test robot that this patch has build error. Please go ahead to review the other patches. I will send out v2 which have missed patch included. Sorry for this. Regards Yin, Fengwei