crypto: talitos - handle descriptor not found in error path
authorKim Phillips <kim.phillips@freescale.com>
Fri, 21 Oct 2011 13:20:28 +0000 (15:20 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Oct 2011 13:20:28 +0000 (15:20 +0200)
commit3e721aeb3df3816e283ab18e327cd4652972e213
treeea6fbc0353eea5b5daf5850f60ab49e394ac5670
parente6ea64ece7f4c14294b2fce5403b1e71eab87f1e
crypto: talitos - handle descriptor not found in error path

The CDPR (Current Descriptor Pointer Register) can be unreliable
when trying to locate an offending descriptor.  Handle that case by
(a) not OOPSing, and (b) reverting to the machine internal copy of
the descriptor header in order to report the correct execution unit
error.

Note: printing all execution units' ISRs is not effective because it
results in an internal time out (ITO) error and the EU resetting its
ISR value (at least when specifying an invalid key length on an SEC
2.2/MPC8313E).

Reported-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/talitos.c