summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran K <kiran.k@intel.com>2025-03-04 21:51:35 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2025-03-25 12:46:08 -0400
commit15f6f62114c872a833f692f6268bb558fe55db92 (patch)
tree64b50ef64a2df9341769b2b57bdb0914f8ed9cc8
parent9148ac0a16d182e565cbd9b43577e5adf271b792 (diff)
downloadlinux-stable-15f6f62114c872a833f692f6268bb558fe55db92.tar.gz
linux-stable-15f6f62114c872a833f692f6268bb558fe55db92.tar.bz2
linux-stable-15f6f62114c872a833f692f6268bb558fe55db92.zip
Bluetooth: btintel_pcie: Trigger device coredump on hardware exception
Driver dumps device core dump on firmware exception. Signed-off-by: Kiran K <kiran.k@intel.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-rw-r--r--drivers/bluetooth/btintel_pcie.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index a499bad58b53..f3ab5b41b050 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -60,6 +60,7 @@ MODULE_DEVICE_TABLE(pci, btintel_pcie_table);
#define BTINTEL_PCIE_MAGIC_NUM 0xA5A5A5A5
#define BTINTEL_PCIE_TRIGGER_REASON_USER_TRIGGER 0x17A2
+#define BTINTEL_PCIE_TRIGGER_REASON_FW_ASSERT 0x1E61
/* Alive interrupt context */
enum {
@@ -1202,6 +1203,11 @@ static void btintel_pcie_msix_hw_exp_handler(struct btintel_pcie_data *data)
if (test_and_set_bit(BTINTEL_PCIE_HWEXP_INPROGRESS, &data->flags))
return;
+
+ /* Trigger device core dump when there is HW exception */
+ if (!test_and_set_bit(BTINTEL_PCIE_COREDUMP_INPROGRESS, &data->flags))
+ data->dmp_hdr.trigger_reason = BTINTEL_PCIE_TRIGGER_REASON_FW_ASSERT;
+
queue_work(data->workqueue, &data->rx_work);
}