crypto: inside-secure - do not use memset on MMIO
This patch fixes the Inside Secure driver which uses a memtset() call to
set an MMIO area from the cryptographic engine to 0. This is wrong as
memset() isn't guaranteed to work on MMIO for many reasons. This led to
kernel paging request panics in certain cases. Use memset_io() instead.
Fixes: 1b44c5a60c
("crypto: inside-secure - add SafeXcel EIP197 crypto engine driver")
Reported-by: Ofer Heifetz <oferh@marvell.com>
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
eea0d3ea75
commit
bf4407f081
@ -152,7 +152,7 @@ static int eip197_load_firmwares(struct safexcel_crypto_priv *priv)
|
||||
EIP197_PE_ICE_SCRATCH_CTRL_CHANGE_ACCESS;
|
||||
writel(val, EIP197_PE(priv) + EIP197_PE_ICE_SCRATCH_CTRL);
|
||||
|
||||
memset(EIP197_PE(priv) + EIP197_PE_ICE_SCRATCH_RAM, 0,
|
||||
memset_io(EIP197_PE(priv) + EIP197_PE_ICE_SCRATCH_RAM, 0,
|
||||
EIP197_NUM_OF_SCRATCH_BLOCKS * sizeof(u32));
|
||||
|
||||
eip197_write_firmware(priv, fw[FW_IFPP], EIP197_PE_ICE_FPP_CTRL,
|
||||
|
Loading…
Reference in New Issue
Block a user