|
@@ -302,6 +302,22 @@ 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 (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;
|