linux-yocto/drivers/crypto
Giovanni Cabiddu d765505bca crypto: qat - add shutdown handler to qat_dh895xcc
commit 2c4e8b2287 upstream.

During a warm reset via kexec, the system bypasses the driver removal
sequence, meaning that the remove() callback is not invoked.
If a QAT device is not shutdown properly, the device driver will fail to
load in a newly rebooted kernel.

This might result in output like the following after the kexec reboot:

    QAT: AE0 is inactive!!
    QAT: failed to get device out of reset
    dh895xcc 0000:3f:00.0: qat_hal_clr_reset error
    dh895xcc 0000:3f:00.0: Failed to init the AEs
    dh895xcc 0000:3f:00.0: Failed to initialise Acceleration Engine
    dh895xcc 0000:3f:00.0: Resetting device qat_dev0
    dh895xcc 0000:3f:00.0: probe with driver dh895xcc failed with error -14

Implement the shutdown() handler that hooks into the reboot notifier
list. This brings down the QAT device and ensures it is shut down
properly.

Cc: <stable@vger.kernel.org>
Fixes: 7afa232e76 ("crypto: qat - Intel(R) QAT DH895xcc accelerator")
Reviewed-by: Ahsan Atta <ahsan.atta@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-06-27 11:11:13 +01:00
..
allwinner crypto: sun8i-ce - move fallback ahash_request to the end of the struct 2025-06-19 15:31:30 +02:00
amcc
amlogic
aspeed
axis
bcm crypto: bcm - add error check in the ahash_hmac_init function 2024-12-05 14:01:20 +01:00
caam crypto: caam/qi - Fix drv_ctx refcount bug 2025-04-25 10:47:52 +02:00
cavium crypto: cavium - Fix an error handling path in cpt_ucode_load_fw() 2024-12-05 14:01:21 +01:00
ccp crypto: ccp - Add support for PCI device 0x1134 2025-05-02 07:59:14 +02:00
ccree
chelsio
gemini
hisilicon crypto: hisilicon/sec2 - fix for aead auth key length 2025-04-10 14:39:21 +02:00
inside-secure crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init() 2024-12-05 14:01:19 +01:00
intel crypto: qat - add shutdown handler to qat_dh895xcc 2025-06-27 11:11:13 +01:00
marvell crypto: marvell/cesa - Do not chain submitted requests 2025-06-27 11:11:12 +01:00
nx crypto: nx - Fix uninitialised hv_nxc on error 2025-04-10 14:39:21 +02:00
qce crypto: qce - unregister previously registered algos in error path 2025-02-17 10:05:37 +01:00
rockchip
starfive
stm32
tegra crypto: tegra - Fix IV usage for AES ECB 2025-04-25 10:47:39 +02:00
virtio
xilinx
atmel-aes-regs.h
atmel-aes.c
atmel-authenc.h
atmel-ecc.c
atmel-i2c.c
atmel-i2c.h
atmel-sha-regs.h
atmel-sha.c
atmel-sha204a.c crypto: atmel-sha204a - Set hwrng quality to lowest possible 2025-05-02 07:59:05 +02:00
atmel-tdes-regs.h
atmel-tdes.c
exynos-rng.c
geode-aes.c
geode-aes.h
hifn_795x.c
img-hash.c
Kconfig
Makefile
mxs-dcp.c crypto: mxs-dcp - Only set OTP_KEY bit for OTP key 2025-05-29 11:02:26 +02:00
n2_asm.S
n2_core.c
n2_core.h
omap-aes-gcm.c
omap-aes.c
omap-aes.h
omap-crypto.c
omap-crypto.h
omap-des.c
omap-sham.c
padlock-aes.c
padlock-sha.c
qcom-rng.c
s5p-sss.c
sa2ul.c
sa2ul.h
sahara.c
talitos.c
talitos.h