static int ath12k_qmi_host_cap_send(struct ath12k_base *ab)
 {
-       struct qmi_wlanfw_host_cap_req_msg_v01 req;
-       struct qmi_wlanfw_host_cap_resp_msg_v01 resp;
+       struct qmi_wlanfw_host_cap_req_msg_v01 req = {};
+       struct qmi_wlanfw_host_cap_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        req.num_clients_valid = 1;
        req.num_clients = 1;
        req.mem_cfg_mode = ab->qmi.target_mem_mode;
 static int ath12k_qmi_respond_fw_mem_request(struct ath12k_base *ab)
 {
        struct qmi_wlanfw_respond_mem_req_msg_v01 *req;
-       struct qmi_wlanfw_respond_mem_resp_msg_v01 resp;
+       struct qmi_wlanfw_respond_mem_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0, i;
        bool delayed;
        if (!req)
                return -ENOMEM;
 
-       memset(&resp, 0, sizeof(resp));
-
        /* Some targets by default request a block of big contiguous
         * DMA memory, it's hard to allocate from kernel. So host returns
         * failure to firmware and firmware then request multiple blocks of
                delayed = true;
                ath12k_dbg(ab, ATH12K_DBG_QMI, "qmi delays mem_request %d\n",
                           ab->qmi.mem_seg_count);
-               memset(req, 0, sizeof(*req));
        } else {
                delayed = false;
                req->mem_seg_len = ab->qmi.mem_seg_count;
 
 static int ath12k_qmi_request_target_cap(struct ath12k_base *ab)
 {
-       struct qmi_wlanfw_cap_req_msg_v01 req;
-       struct qmi_wlanfw_cap_resp_msg_v01 resp;
+       struct qmi_wlanfw_cap_req_msg_v01 req = {};
+       struct qmi_wlanfw_cap_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        unsigned int board_id = ATH12K_BOARD_ID_DEFAULT;
        int ret = 0;
        int r;
        int i;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        ret = qmi_txn_init(&ab->qmi.handle, &txn,
                           qmi_wlanfw_cap_resp_msg_v01_ei, &resp);
        if (ret < 0)
                                           const u8 *data, u32 len, u8 type)
 {
        struct qmi_wlanfw_bdf_download_req_msg_v01 *req;
-       struct qmi_wlanfw_bdf_download_resp_msg_v01 resp;
+       struct qmi_wlanfw_bdf_download_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        const u8 *temp = data;
        int ret;
        req = kzalloc(sizeof(*req), GFP_KERNEL);
        if (!req)
                return -ENOMEM;
-       memset(&resp, 0, sizeof(resp));
 
        while (remaining) {
                req->valid = 1;
 static int ath12k_qmi_wlanfw_m3_info_send(struct ath12k_base *ab)
 {
        struct m3_mem_region *m3_mem = &ab->qmi.m3_mem;
-       struct qmi_wlanfw_m3_info_req_msg_v01 req;
-       struct qmi_wlanfw_m3_info_resp_msg_v01 resp;
+       struct qmi_wlanfw_m3_info_req_msg_v01 req = {};
+       struct qmi_wlanfw_m3_info_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        ret = ath12k_qmi_m3_load(ab);
        if (ret) {
                ath12k_err(ab, "failed to load m3 firmware: %d", ret);
 static int ath12k_qmi_wlanfw_mode_send(struct ath12k_base *ab,
                                       u32 mode)
 {
-       struct qmi_wlanfw_wlan_mode_req_msg_v01 req;
-       struct qmi_wlanfw_wlan_mode_resp_msg_v01 resp;
+       struct qmi_wlanfw_wlan_mode_req_msg_v01 req = {};
+       struct qmi_wlanfw_wlan_mode_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        req.mode = mode;
        req.hw_debug_valid = 1;
        req.hw_debug = 0;
 static int ath12k_qmi_wlanfw_wlan_cfg_send(struct ath12k_base *ab)
 {
        struct qmi_wlanfw_wlan_cfg_req_msg_v01 *req;
-       struct qmi_wlanfw_wlan_cfg_resp_msg_v01 resp;
+       struct qmi_wlanfw_wlan_cfg_resp_msg_v01 resp = {};
        struct ce_pipe_config *ce_cfg;
        struct service_to_pipe *svc_cfg;
        struct qmi_txn txn;
        if (!req)
                return -ENOMEM;
 
-       memset(&resp, 0, sizeof(resp));
-
        req->host_version_valid = 1;
        strscpy(req->host_version, ATH12K_HOST_VERSION_STRING,
                sizeof(req->host_version));