android_kernel_motorola_sm6225/arch/mips/cavium-octeon
Aaro Koskinen f7715e72f5 CRYPTO: Octeon: Don't disable bottom half in octeon-md5
Don't disable bottom half while the crypto engine is in use, as it
should be unnecessary: All kernel crypto engine usage is wrapped with
crypto engine state save/restore, so if we get interrupted by softirq
that uses crypto they should save and restore our context.

This actually fixes an issue when running OCTEON MD5 with interrupts
disabled (tcrypt mode=302). There's a WARNING because the module is
trying to enable the bottom half with irqs disabled:

[   52.656610] ------------[ cut here ]------------
[   52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8()
[   52.671780] Modules linked in: tcrypt(+)
[...]
[   52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8
[   52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8
[   52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8
[   52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David S. Miller <davem@davemloft.net>
Cc: linux-crypto@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/9490/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-03-24 15:15:36 +01:00
..
crypto CRYPTO: Octeon: Don't disable bottom half in octeon-md5 2015-03-24 15:15:36 +01:00
executive Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-02-21 19:41:38 -08:00
cpu.c MIPS: Octeon: Place cnmips_cu2_setup in __init memory. 2010-10-04 18:34:00 +01:00
csrc-octeon.c MIPS: OCTEON: More OCTEONIII support 2015-02-20 15:32:46 +01:00
dma-octeon.c MIPS: OCTEON: Update octeon-model.h code for new SoCs. 2015-02-20 15:31:43 +01:00
flash_setup.c mips/octeon: 16-Bit NOR flash was not being detected during boot 2012-11-09 11:37:16 +01:00
Kconfig treewide: Fix typos in Kconfig 2014-09-26 11:12:28 +02:00
Makefile MIPS: OCTEON: add crypto helper functions 2014-12-24 08:14:21 +11:00
oct_ilm.c MIPS: Octeon: remove unnecessary null test before debugfs_remove_recursive 2014-08-02 00:06:47 +02:00
octeon-irq.c MIPS: OCTEON: irq: add CIB and other fixes 2015-02-20 15:33:40 +01:00
octeon-memcpy.S MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
octeon-platform.c USB: host: Introduce flag to enable use of 64-bit dma_mask for ehci-platform 2015-01-25 20:48:28 +08:00
octeon_boot.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
Platform MIPS: OCTEON: Rename Kconfig CAVIUM_OCTEON_REFERENCE_BOARD to CAVIUM_OCTEON_SOC 2013-06-10 18:01:25 +02:00
setup.c MIPS: OCTEON: More OCTEONIII support 2015-02-20 15:32:46 +01:00
smp.c MIPS: OCTEON: fix kernel crash when offlining a CPU 2015-01-29 23:48:29 +01:00