static void vpu_session_handle_mem_request(struct vpu_inst *inst, struct vpu_rpc_event *pkt)
 {
-       struct vpu_pkt_mem_req_data req_data;
+       struct vpu_pkt_mem_req_data req_data = { 0 };
 
        vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&req_data);
        vpu_trace(inst->dev, "[%d] %d:%d %d:%d %d:%d\n",
 
 static void vpu_session_handle_enc_frame_done(struct vpu_inst *inst, struct vpu_rpc_event *pkt)
 {
-       struct vpu_enc_pic_info info;
+       struct vpu_enc_pic_info info = { 0 };
 
        vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&info);
        dev_dbg(inst->dev, "[%d] frame id = %d, wptr = 0x%x, size = %d\n",
 
 static void vpu_session_handle_frame_request(struct vpu_inst *inst, struct vpu_rpc_event *pkt)
 {
-       struct vpu_fs_info fs;
+       struct vpu_fs_info fs = { 0 };
 
        vpu_iface_unpack_msg_data(inst->core, pkt, &fs);
        call_void_vop(inst, event_notify, VPU_MSG_ID_FRAME_REQ, &fs);
                info.type = inst->out_format.type;
                call_void_vop(inst, buf_done, &info);
        } else if (inst->core->type == VPU_CORE_TYPE_DEC) {
-               struct vpu_fs_info fs;
+               struct vpu_fs_info fs = { 0 };
 
                vpu_iface_unpack_msg_data(inst->core, pkt, &fs);
                call_void_vop(inst, event_notify, VPU_MSG_ID_FRAME_RELEASE, &fs);
 
 static void vpu_session_handle_pic_decoded(struct vpu_inst *inst, struct vpu_rpc_event *pkt)
 {
-       struct vpu_dec_pic_info info;
+       struct vpu_dec_pic_info info = { 0 };
 
        vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&info);
        call_void_vop(inst, get_one_frame, &info);
 
 static void vpu_session_handle_pic_done(struct vpu_inst *inst, struct vpu_rpc_event *pkt)
 {
-       struct vpu_dec_pic_info info;
+       struct vpu_dec_pic_info info = { 0 };
        struct vpu_frame_info frame;
 
        memset(&frame, 0, sizeof(frame));