timeout);
        clear_bit(F_WRITEFLUSH, &dev.flags);
        if (!signal_pending(current)) {
-               current->state = TASK_INTERRUPTIBLE;
+               __set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout(get_play_delay_jiffies(DAP_BUFF_SIZE));
        }
        clear_bit(F_WRITING, &dev.flags);
                       & ~0x0001, dev.SMA + SMA_wCurrHostStatusFlags);
        if (msnd_send_word(&dev, 0, 0, HDEXAR_CAL_A_TO_D) == 0 &&
            chk_send_dsp_cmd(&dev, HDEX_AUX_REQ) == 0) {
-               current->state = TASK_INTERRUPTIBLE;
+               __set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout(HZ / 3);
                return 0;
        }
 
         s->dma_dac.hwptr = s->dma_dac.swptr = hwptr;
         spin_unlock_irqrestore(&s->lock, flags);
        remove_wait_queue(&s->dma_dac.wait, &wait);
-       current->state = TASK_RUNNING;
+       __set_current_state(TASK_RUNNING);
        return 0;
 }