aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/crypto
diff options
context:
space:
mode:
authorAntoine Ténart <antoine.tenart@free-electrons.com>2017-06-01 21:39:03 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2017-06-19 14:19:52 +0800
commit049655499e2ecc4d7d3920da44f117e091a2240b (patch)
treea3b91f6930729d230f8dfa753cc7eaf17f206cfe /crypto
parentcrypto: sun4i-ss - add the CRYPTO_ALG_KERN_DRIVER_ONLY flag (diff)
downloadwireguard-linux-049655499e2ecc4d7d3920da44f117e091a2240b.tar.xz
wireguard-linux-049655499e2ecc4d7d3920da44f117e091a2240b.zip
crypto: sun4i-ss - fix large block size support
The run-time self-tests fail quite early, as soon as the input block size is larger than 64 bytes: alg: hash: Test 4 failed for sha1-sun4i-ss 00000000: b9 c9 1e 52 c0 26 d8 39 81 ff f2 3c 99 b1 27 b2 00000010: 30 d6 c9 85 One thing to notice is the value of the last word, which is the one expected (it can sometime be the last two words). The datasheet isn't very clear about when the digest is ready to retrieve and is seems the bit SS_DATA_END is cleared when the digest was computed *but* that doesn't mean the digest is ready to retrieve in the registers. A ndelay(1) is added before reading the computed digest to ensure it is available in the SS_MD[] registers. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com> Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
0 files changed, 0 insertions, 0 deletions