unsigned int i;
        int ret;
 
+       if (!etm->kernel_start)
+               etm->kernel_start = machine__kernel_start(etm->machine);
+
        for (i = 0; i < etm->queues.nr_queues; i++) {
                ret = cs_etm__setup_queue(etm, &etm->queues.queue_array[i], i);
                if (ret)
 
 static int cs_etm__run_decoder(struct cs_etm_queue *etmq)
 {
-       struct cs_etm_auxtrace *etm = etmq->etm;
        struct cs_etm_buffer buffer;
        size_t buffer_used, processed;
        int err = 0;
 
-       if (!etm->kernel_start)
-               etm->kernel_start = machine__kernel_start(etm->machine);
-
        /* Go through each buffer in the queue and decode them one by one */
        while (1) {
                buffer_used = 0;