bnxt_en: fix module unload sequence
[ Upstream commit 927069d5c40c1cfa7b2d13cfc6d7d58bc6f85c50 ]
Recent updates to the PTP part of bnxt changed the way PTP FIFO is
cleared, skbs waiting for TX timestamps are now cleared during
ndo_close() call. To do clearing procedure, the ptp structure must
exist and point to a valid address. Module destroy sequence had ptp
clear code running before netdev close causing invalid memory access and
kernel crash. Change the sequence to destroy ptp structure after device
close.
Fixes: 8f7ae5a85137 ("bnxt_en: improve TX timestamping FIFO configuration")
Reported-by: Taehee Yoo <ap420073@gmail.com>
Closes: https://lore.kernel.org/netdev/CAMArcTWDe2cd41=ub=zzvYifaYcYv-N-csxfqxUvejy_L0D6UQ@mail.gmail.com/
Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Tested-by: Taehee Yoo <ap420073@gmail.com>
Link: https://patch.msgid.link/20250430170343.759126-1-vadfed@meta.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b41a49d543
commit
a90146b73c
@@ -15421,8 +15421,8 @@ static void bnxt_remove_one(struct pci_dev *pdev)
|
||||
|
||||
bnxt_rdma_aux_device_del(bp);
|
||||
|
||||
bnxt_ptp_clear(bp);
|
||||
unregister_netdev(dev);
|
||||
bnxt_ptp_clear(bp);
|
||||
|
||||
bnxt_rdma_aux_device_uninit(bp);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user