The attached patch fixes my issue, but am not sure if it is correct or
will  cause problems else where.
diff -Naurp linux-2.6.28.7.a/arch/arm/include/asm/scatterlist.h 
linux-2.6.28.7.b/arch/arm/include/asm/scatterlist.h
--- linux-2.6.28.7.a/arch/arm/include/asm/scatterlist.h 2009-02-20 
23:41:27.000000000 +0100
+++ linux-2.6.28.7.b/arch/arm/include/asm/scatterlist.h 2009-02-25 
16:19:59.000000000 +0100
@@ -24,4 +24,6 @@ struct scatterlist {
 #define sg_dma_address(sg)      ((sg)->dma_address)
 #define sg_dma_len(sg)          ((sg)->length)
 
+#define ARCH_HAS_SG_CHAIN
+
 #endif /* _ASMARM_SCATTERLIST_H */
diff -Naurp linux-2.6.28.7.a/crypto/eseqiv.c linux-2.6.28.7.b/crypto/eseqiv.c
--- linux-2.6.28.7.a/crypto/eseqiv.c    2009-02-20 23:41:27.000000000 +0100
+++ linux-2.6.28.7.b/crypto/eseqiv.c    2009-02-25 16:17:09.000000000 +0100
@@ -17,7 +17,6 @@
 
 #include <crypto/internal/skcipher.h>
 #include <crypto/rng.h>
-#include <crypto/scatterwalk.h>
 #include <linux/err.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
@@ -67,11 +66,11 @@ static void eseqiv_chain(struct scatterl
 {
        if (chain) {
                head->length += sg->length;
-               sg = scatterwalk_sg_next(sg);
+               sg = sg_next(sg);
        }
 
        if (sg)
-               scatterwalk_sg_chain(head, 2, sg);
+               sg_chain(head, 2, sg);
        else
                sg_mark_end(head);
 }

Reply via email to