[patch 73/76] async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor

From: Chris Wright
Date: Fri Mar 21 2008 - 18:48:38 EST


-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Dan Williams <dan.j.williams@xxxxxxxxx>

If the channel cannot perform the operation in one call to
->device_prep_dma_zero_sum, then fallback to the xor+page_is_zero path.
This only affects users with arrays larger than 16 devices on iop13xx or
32 devices on iop3xx.

Cc: <stable@xxxxxxxxxx>
Cc: Neil Brown <neilb@xxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
[chrisw@xxxxxxxxxxxx: backport to 2.6.24.3]
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
please verify the backport makes sense

crypto/async_tx/async_xor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -264,7 +264,7 @@ async_xor_zero_sum(struct page *dest, st

BUG_ON(src_cnt <= 1);

- if (tx) {
+ if (tx && src_cnt <= device->max_xor) {
dma_addr_t dma_addr;
enum dma_data_direction dir;


--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/