int i;
        dev->pdr = dma_alloc_coherent(dev->core_dev->device,
                                      sizeof(struct ce_pd) * PPC4XX_NUM_PD,
-                                     &dev->pdr_pa, GFP_ATOMIC);
+                                     &dev->pdr_pa, GFP_KERNEL);
        if (!dev->pdr)
                return -ENOMEM;
 
        dev->shadow_sa_pool = dma_alloc_coherent(dev->core_dev->device,
                                   sizeof(union shadow_sa_buf) * PPC4XX_NUM_PD,
                                   &dev->shadow_sa_pool_pa,
-                                  GFP_ATOMIC);
+                                  GFP_KERNEL);
        if (!dev->shadow_sa_pool)
                return -ENOMEM;
 
        dev->shadow_sr_pool = dma_alloc_coherent(dev->core_dev->device,
                         sizeof(struct sa_state_record) * PPC4XX_NUM_PD,
-                        &dev->shadow_sr_pool_pa, GFP_ATOMIC);
+                        &dev->shadow_sr_pool_pa, GFP_KERNEL);
        if (!dev->shadow_sr_pool)
                return -ENOMEM;
        for (i = 0; i < PPC4XX_NUM_PD; i++) {
 {
        dev->gdr = dma_alloc_coherent(dev->core_dev->device,
                                      sizeof(struct ce_gd) * PPC4XX_NUM_GD,
-                                     &dev->gdr_pa, GFP_ATOMIC);
+                                     &dev->gdr_pa, GFP_KERNEL);
        if (!dev->gdr)
                return -ENOMEM;
 
        dev->scatter_buffer_va =
                dma_alloc_coherent(dev->core_dev->device,
                        PPC4XX_SD_BUFFER_SIZE * PPC4XX_NUM_SD,
-                       &dev->scatter_buffer_pa, GFP_ATOMIC);
+                       &dev->scatter_buffer_pa, GFP_KERNEL);
        if (!dev->scatter_buffer_va)
                return -ENOMEM;
 
        /* alloc memory for scatter descriptor ring */
        dev->sdr = dma_alloc_coherent(dev->core_dev->device,
                                      sizeof(struct ce_sd) * PPC4XX_NUM_SD,
-                                     &dev->sdr_pa, GFP_ATOMIC);
+                                     &dev->sdr_pa, GFP_KERNEL);
        if (!dev->sdr)
                return -ENOMEM;