|
@@ -188,7 +188,7 @@ async_gen_syndrome(struct page **blocks, unsigned int offset, int disks,
|
|
|
BUG_ON(disks > 255 || !(P(blocks, disks) || Q(blocks, disks)));
|
|
|
|
|
|
if (device)
|
|
|
- unmap = dmaengine_get_unmap_data(device->dev, disks, GFP_NOIO);
|
|
|
+ unmap = dmaengine_get_unmap_data(device->dev, disks, GFP_NOWAIT);
|
|
|
|
|
|
/* XORing P/Q is only implemented in software */
|
|
|
if (unmap && !(submit->flags & ASYNC_TX_PQ_XOR_DST) &&
|
|
@@ -307,7 +307,7 @@ async_syndrome_val(struct page **blocks, unsigned int offset, int disks,
|
|
|
BUG_ON(disks < 4);
|
|
|
|
|
|
if (device)
|
|
|
- unmap = dmaengine_get_unmap_data(device->dev, disks, GFP_NOIO);
|
|
|
+ unmap = dmaengine_get_unmap_data(device->dev, disks, GFP_NOWAIT);
|
|
|
|
|
|
if (unmap && disks <= dma_maxpq(device, 0) &&
|
|
|
is_dma_pq_aligned(device, offset, 0, len)) {
|