async_message_send_start() had a check for kthread_should_stop() while
spinning. This check is meaningless and possibly result in null pointer
exception if invoked on user threads. Replace it with a version that
does not do this check for user threads.

We do multiple buddy allocations to see if the returned regions are contiguous
and use those one single block. Make changes in the init routine for
accommodating it.
Signed-off-by: Vikram Narayanan <vikram186@gmail.com>