[PATCH 3/5] wcn36xx: handle new hal response format
fengwei.yin
fengwei.yin at linaro.org
Mon Nov 9 01:29:34 PST 2015
On 2015/11/9 18:02, Yin, Fengwei wrote:
> From: Andy Green <andy.green at linaro.org>
>
> From: Andy Green <andy.green at linaro.org>
>
> 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 <andy.green at linaro.org>
> ---
> 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
More information about the wcn36xx
mailing list