The function alloc_dma_buffer() is called from ibmvmc_add_buffer(),
in which a spin lock be held here, so we should use GFP_ATOMIC when
a lock is held.
Fixes: 0eca353e7ae7 ("misc: IBM Virtual Management Channel Driver (VMC)")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                              dma_addr_t *dma_handle)
 {
        /* allocate memory */
-       void *buffer = kzalloc(size, GFP_KERNEL);
+       void *buffer = kzalloc(size, GFP_ATOMIC);
 
        if (!buffer) {
                *dma_handle = 0;