From: Kiran K Date: Tue, 4 Mar 2025 16:21:35 +0000 (+0530) Subject: Bluetooth: btintel_pcie: Trigger device coredump on hardware exception X-Git-Tag: v6.15-rc1~160^2~3^2~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=15f6f62114c872a833f692f6268bb558fe55db92;p=thirdparty%2Flinux.git Bluetooth: btintel_pcie: Trigger device coredump on hardware exception Driver dumps device core dump on firmware exception. Signed-off-by: Kiran K Signed-off-by: Luiz Augusto von Dentz --- diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c index a499bad58b53f..f3ab5b41b0507 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); }