]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bnxt_en: Shutdown FW DMA in bnxt_shutdown()
authorMichael Chan <michael.chan@broadcom.com>
Tue, 4 Nov 2025 00:56:55 +0000 (16:56 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:43 +0000 (15:37 -0500)
commit1a8a15c3f71d1199d510ccba4bc201cbd2204048
tree51b27a9a0e7a7e568d3dd8fb10a653877ad88e61
parent8ab3b8f958d861a7f725a5be60769106509fbd69
bnxt_en: Shutdown FW DMA in bnxt_shutdown()

[ Upstream commit bc7208ca805ae6062f353a4753467d913d963bc6 ]

The netif_close() call in bnxt_shutdown() only stops packet DMA.  There
may be FW DMA for trace logging (recently added) that will continue.  If
we kexec to a new kernel, the DMA will corrupt memory in the new kernel.

Add bnxt_hwrm_func_drv_unrgtr() to unregister the driver from the FW.
This will stop the FW DMA.  In case the call fails, call pcie_flr() to
reset the function and stop the DMA.

Fixes: 24d694aec139 ("bnxt_en: Allocate backing store memory for FW trace logs")
Reported-by: Jakub Kicinski <kicinski@meta.com>
Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20251104005700.542174-2-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c