static void
do_sync_xor(struct page *dest, struct page **src_list, unsigned int offset,
int src_cnt, size_t len, enum async_tx_flags flags,
- struct dma_async_tx_descriptor *depend_tx,
dma_async_tx_callback cb_fn, void *cb_param)
{
int i;
src_off += xor_src_cnt;
}
- async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);
+ async_tx_sync_epilog(cb_fn, cb_param);
}
/**
async_tx_quiesce(&depend_tx);
do_sync_xor(dest, src_list, offset, src_cnt, len,
- flags, depend_tx, cb_fn, cb_param);
+ flags, cb_fn, cb_param);
return NULL;
}
if (unlikely(!tx)) {
async_tx_quiesce(&depend_tx);
- while (!tx)
+ while (!tx) {
dma_async_issue_pending(chan);
tx = device->device_prep_dma_zero_sum(chan,
dma_src, src_cnt, len, result,
dma_prep_flags);
+ }
}
async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param);
*result = page_is_zero(dest, offset, len) ? 0 : 1;
- async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);
+ async_tx_sync_epilog(cb_fn, cb_param);
}
return tx;