Skip to content

Commit 1304446

Browse files
jtornosmJeff Johnson
authored andcommitted
wifi: ath12k: fix crash when unbinding
If there is an error during some initialization related to firmware, the function ath12k_dp_cc_cleanup is called to release resources. However this is released again when the device is unbinded (ath12k_pci), and we get: BUG: kernel NULL pointer dereference, address: 0000000000000020 at RIP: 0010:ath12k_dp_cc_cleanup.part.0+0xb6/0x500 [ath12k] Call Trace: ath12k_dp_cc_cleanup ath12k_dp_free ath12k_core_deinit ath12k_pci_remove ... The issue is always reproducible from a VM because the MSI addressing initialization is failing. In order to fix the issue, just set to NULL the released structure in ath12k_dp_cc_cleanup at the end. cc: stable@vger.kernel.org Fixes: d889913 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices") Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com> Link: https://patch.msgid.link/20241017181004.199589-2-jtornosm@redhat.com Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
1 parent fd01ace commit 1304446

File tree

1 file changed

+1
-0
lines changed
  • drivers/net/wireless/ath/ath12k

1 file changed

+1
-0
lines changed

drivers/net/wireless/ath/ath12k/dp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,6 +1250,7 @@ static void ath12k_dp_cc_cleanup(struct ath12k_base *ab)
12501250
}
12511251

12521252
kfree(dp->spt_info);
1253+
dp->spt_info = NULL;
12531254
}
12541255

12551256
static void ath12k_dp_reoq_lut_cleanup(struct ath12k_base *ab)

0 commit comments

Comments
 (0)