// overrun. Actual device can skip more, then this module stops the packet streaming.
 #define IR_JUMBO_PAYLOAD_MAX_SKIP_CYCLES       5
 
-static void pcm_period_work(struct work_struct *work);
-
 /**
  * amdtp_stream_init - initialize an AMDTP stream structure
  * @s: the AMDTP stream to initialize
        s->flags = flags;
        s->context = ERR_PTR(-1);
        mutex_init(&s->mutex);
-       INIT_WORK(&s->period_work, pcm_period_work);
        s->packet_index = 0;
 
        init_waitqueue_head(&s->ready_wait);
  */
 void amdtp_stream_pcm_prepare(struct amdtp_stream *s)
 {
-       cancel_work_sync(&s->period_work);
        s->pcm_buffer_pointer = 0;
        s->pcm_period_pointer = 0;
 }
        }
 }
 
-static void pcm_period_work(struct work_struct *work)
-{
-       struct amdtp_stream *s = container_of(work, struct amdtp_stream,
-                                             period_work);
-       struct snd_pcm_substream *pcm = READ_ONCE(s->pcm);
-
-       if (pcm)
-               snd_pcm_period_elapsed(pcm);
-}
-
 static int queue_packet(struct amdtp_stream *s, struct fw_iso_packet *params,
                        bool sched_irq)
 {
                return;
        }
 
-       cancel_work_sync(&s->period_work);
        fw_iso_context_stop(s->context);
        fw_iso_context_destroy(s->context);
        s->context = ERR_PTR(-1);
 
 
        /* For a PCM substream processing. */
        struct snd_pcm_substream *pcm;
-       struct work_struct period_work;
        snd_pcm_uframes_t pcm_buffer_pointer;
        unsigned int pcm_period_pointer;