]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - crypto/async_tx/async_xor.c
x86: merge thread_info.h
[linux-2.6-omap-h63xx.git] / crypto / async_tx / async_xor.c
index 7a9db353f1986fca6a4d778dd1e05977ff0fb790..3a0dddca5a1097e473d103a15797547da66e7bf1 100644 (file)
@@ -191,7 +191,7 @@ async_xor(struct page *dest, struct page **src_list, unsigned int offset,
                                /* if ack is already set then we cannot be sure
                                 * we are referring to the correct operation
                                 */
-                               BUG_ON(depend_tx->ack);
+                               BUG_ON(async_tx_test_ack(depend_tx));
                                if (dma_wait_for_async_tx(depend_tx) ==
                                        DMA_ERROR)
                                        panic("%s: DMA_ERROR waiting for "
@@ -271,7 +271,7 @@ async_xor_zero_sum(struct page *dest, struct page **src_list,
 
        BUG_ON(src_cnt <= 1);
 
-       if (device) {
+       if (device && src_cnt <= device->max_xor) {
                dma_addr_t *dma_src = (dma_addr_t *) src_list;
                unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0;
                int i;