/* check if playback is draining, trim the capture copy size
         * when our pointer is at the end of playback ring buffer */
-       if (runtime->status->state == SNDRV_PCM_STATE_DRAINING &&
+       if (runtime->state == SNDRV_PCM_STATE_DRAINING &&
            snd_pcm_playback_hw_avail(runtime) < runtime->buffer_size) { 
                snd_pcm_uframes_t appl_ptr, appl_ptr1, diff;
                appl_ptr = appl_ptr1 = runtime->control->appl_ptr;
 
        if (event == SNDRV_TIMER_EVENT_MSTOP) {
                if (!dpcm_play ||
-                   dpcm_play->substream->runtime->status->state !=
+                   dpcm_play->substream->runtime->state !=
                                SNDRV_PCM_STATE_DRAINING) {
                        spin_unlock_irqrestore(&cable->lock, flags);
                        return;