unsigned int count,
                union dmub_rb_cmd *cmd_list)
 {
-       struct dc_context *dc_ctx = dc_dmub_srv->ctx;
+       struct dc_context *dc_ctx;
        struct dmub_srv *dmub;
        enum dmub_status status;
        int i;
        if (!dc_dmub_srv || !dc_dmub_srv->dmub)
                return false;
 
+       dc_ctx = dc_dmub_srv->ctx;
        dmub = dc_dmub_srv->dmub;
 
        for (i = 0 ; i < count; i++) {
 
 bool dc_dmub_srv_is_hw_pwr_up(struct dc_dmub_srv *dc_dmub_srv, bool wait)
 {
-       struct dc_context *dc_ctx = dc_dmub_srv->ctx;
+       struct dc_context *dc_ctx;
        enum dmub_status status;
 
        if (!dc_dmub_srv || !dc_dmub_srv->dmub)
        if (dc_dmub_srv->ctx->dc->debug.dmcub_emulation)
                return true;
 
+       dc_ctx = dc_dmub_srv->ctx;
+
        if (wait) {
                if (dc_dmub_srv->ctx->dc->debug.disable_timeout) {
                        do {