Freertos TWIM feature

I was creating a simple application to read an accelerometer chip as a task in freeRTOS. The problem is while executing the twim task , it stucks in a while loop in the driver. I am using SAM4l and atmel studio 6 . to write or read there is a function call that takes the data to twim.c(the driver code) and in here the actual transfer is done. There are three interrupts that NACK, write and read. for read there is a sleep function in the twim driver if low power is enabled like this
#if TWIM_LOW_POWER_ENABLE
    sleepmgr_lock_mode(SLEEPMGR_SLEEP_1);
    while(!(transfer_status[twim_ch]) && !                                                                                                                                                       (twim_get_status(twim) & TWIM_SR_IDLE))
    {
    sleepmgr_enter_sleep();
    }
    sleepmgr_unlock_mode(SLEEPMGR_SLEEP_1);

#else
     while(!(transfer_status[twim_ch]) && !(twim_get_status(twim) & TWIM_SR_IDLE))
     {}


#endif
         /* disable master transfer */
           ...code to configure registers
for a simple read from accelerometer my code is stuck in read’s sleep function. my code stuck in the if condition. My query is 1) Is freeRTOS fully twim compatible? 2)Are there any typical issues like this?

Freertos TWIM feature

http://www.freertos.org/FAQ-how-to-use-the-FreeRTOS-support-forum.html

Freertos TWIM feature

I was hoping for some help instead of this link…..IBoard is sam4l xplained pro.This is code is from atmel studio 6 twim master driver.I am using FREERTOS and my device works good standalone(without freertos) .So I think its related to FREERTOS too.