diff options
author | Evgeniy Polyakov <johnpol@2ka.mipt.ru> | 2008-10-12 08:14:15 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-12-24 19:01:07 -0500 |
commit | a44b56cc69a5b017f396ed1daeaef6a63e086656 (patch) | |
tree | fdc9e72b5de1405a685153d6c702ff785ab999ae /drivers | |
parent | 4a6908a3a050aacc9c3a2f36b276b46c0629ad91 (diff) |
crypto: hifn - Disable driver when physical size exceeds 32 bits
On Tue, Sep 23, 2008 at 08:06:32PM +0200, Dimitri Puzin (max@psycast.de) wrote:
> With this patch applied it still doesn't work as expected. The overflow
> messages are gone however syslog shows
> [ 120.924266] hifn0: abort: c: 0, s: 1, d: 0, r: 0.
> when doing cryptsetup luksFormat as in original e-mail. At this point
> cryptsetup hangs and can't be killed with -SIGKILL. I've attached
> SysRq-t dump of this condition.
Yes, I was wrong with the patch: HIFN does not support 64-bit addresses
afaics.
Attached patch should not allow HIFN to be registered on 64-bit arch, so
crypto layer will fallback to the software algorithms.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/crypto/hifn_795x.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c index 4d22b21bd3e3..2969ea99f7c7 100644 --- a/drivers/crypto/hifn_795x.c +++ b/drivers/crypto/hifn_795x.c | |||
@@ -2782,6 +2782,11 @@ static int __devinit hifn_init(void) | |||
2782 | unsigned int freq; | 2782 | unsigned int freq; |
2783 | int err; | 2783 | int err; |
2784 | 2784 | ||
2785 | if (sizeof(dma_addr_t) > 4) { | ||
2786 | printk(KERN_INFO "HIFN supports only 32-bit addresses.\n"); | ||
2787 | return -EINVAL; | ||
2788 | } | ||
2789 | |||
2785 | if (strncmp(hifn_pll_ref, "ext", 3) && | 2790 | if (strncmp(hifn_pll_ref, "ext", 3) && |
2786 | strncmp(hifn_pll_ref, "pci", 3)) { | 2791 | strncmp(hifn_pll_ref, "pci", 3)) { |
2787 | printk(KERN_ERR "hifn795x: invalid hifn_pll_ref clock, " | 2792 | printk(KERN_ERR "hifn795x: invalid hifn_pll_ref clock, " |