On Fri, Apr 27, 2007 at 01:50:37PM +0400, Evgeniy Polyakov ([EMAIL PROTECTED]) 
wrote:
> On Fri, Apr 27, 2007 at 06:10:51PM +1000, Herbert Xu ([EMAIL PROTECTED]) 
> wrote:
> > > Has anyone else tried to test the geode-aes driver with the tcrypt module?
> > > 
> > > I am also not able to use the geode-aes driver with openswan-2.4.7 on 
> > > kernel
> > > 2.6.19 (with patched-in geode driver).
> > 
> > Jordan, do you have any ideas why this is happening?
> 
> Could it be compiler problem and broken hardware?
> Martin, can you test attached patch?

Or better this one:

diff --git a/drivers/crypto/geode-aes.c b/drivers/crypto/geode-aes.c
index 6d3840e..724169b 100644
--- a/drivers/crypto/geode-aes.c
+++ b/drivers/crypto/geode-aes.c
@@ -78,7 +78,7 @@ static int
 do_crypt(void *src, void *dst, int len, u32 flags)
 {
        u32 status;
-       u32 counter = AES_OP_TIMEOUT;
+       int counter = 0x1000;
 
        iowrite32(virt_to_phys(src), _iobase + AES_SOURCEA_REG);
        iowrite32(virt_to_phys(dst), _iobase + AES_DSTA_REG);
@@ -89,7 +89,9 @@ do_crypt(void *src, void *dst, int len, u32 flags)
 
        do
                status = ioread32(_iobase + AES_INTR_REG);
-       while(!(status & AES_INTRA_PENDING) && --counter);
+       while(--counter > 0 && !(status & AES_INTRA_PENDING));
+
+       WARN_ON(!counter);
 
        /* Clear the event */
        iowrite32((status & 0xFF) | AES_INTRA_PENDING, _iobase + AES_INTR_REG);

-- 
        Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to