On Wed, 2009-07-22 at 19:00 -0700, Stephen Rothwell wrote:
Hi Dan,
Since next-20090623, the linux-next build (i386 allmodconfig) has failed
like this:
crypto/async_tx/async_xor.c: In function ‘async_xor_init’:
crypto/async_tx/async_xor.c:310: error: size of array ‘type name’ is negative
The failing line is this:
BUILD_BUG_ON(sizeof(dma_addr_t) > sizeof(struct page *));
in async_xor_init() introduced by commit
0036731c88fdb5bf4f04a796a30b5e445fc57f54 ("async_tx: kill tx_set_src and
tx_set_dest methods") in Feb, 2008.
Bisecting in the next-20090623 tree pointed to commit
3c30a9ca1fb95214e60e3bf43957971df6668033 ("dmaengine: move HIGHMEM64G
restriction to ASYNC_TX_DMA") from the async_tx tree. This is now commit
f3c56e57f66a73a241299dbec1ad55491aa0e403.
Gah, yes that commit was half baked. I have pushed out an updated tree
with the following fix:
diff --git a/crypto/async_tx/async_xor.c b/crypto/async_tx/async_xor.c
index 95fe2c8..90dd3f8 100644
--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -300,7 +300,7 @@ EXPORT_SYMBOL_GPL(async_xor_zero_sum);
static int __init async_xor_init(void)
{
- #ifdef CONFIG_DMA_ENGINE
+ #ifdef CONFIG_ASYNC_TX_DMA
/* To conserve stack space the input src_list (array of page pointers)
* is reused to hold the array of dma addresses passed to the driver.
* This conversion is only possible when dma_addr_t is less than the
Thanks,
Dan