My board is Beagle Bone design on which I have been running a 4.1 kernel. I have upgraded to 4.8.{9,10,11} and all give me this error:
<pre>
[ 17.772089] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 17.784411] omap-sham 53100000.sham: error -22 registering alg
[ 18.118071] omap-sham 53100000.sham: initialization failed.
[ 18.123791] omap-sham: probe of 53100000.sham failed with error -22
</pre>
I think I've tracked it down to this:
<pre>
static int ahash_prepare_alg(struct ahash_alg *alg)
{
struct crypto_alg *base = &alg->halg.base;
if (alg->halg.digestsize > PAGE_SIZE / 8 ||
- alg->halg.statesize > PAGE_SIZE / 8)
+ alg->halg.statesize > PAGE_SIZE / 8 ||
+ alg->halg.statesize == 0)
return -EINVAL;
base->cra_type = &crypto_ahash_type;
</pre>
It seems to me that none of the <code>statesize</code> fields are initialized in omap-sham.c. For some other architectures, there are initializations.
Any suggestions?