]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
Bluetooth: btintel: Direct exception event to bluetooth stack
authorKiran K <kiran.k@intel.com>
Tue, 22 Oct 2024 09:11:34 +0000 (14:41 +0530)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 14 Nov 2024 20:40:55 +0000 (15:40 -0500)
Have exception event part of HCI traces which helps for debug.

snoop traces:
> HCI Event: Vendor (0xff) plen 79
        Vendor Prefix (0x8780)
      Intel Extended Telemetry (0x03)
        Unknown extended telemetry event type (0xde)
        01 01 de
        Unknown extended subevent 0x07
        01 01 de 07 01 de 06 1c ef be ad de ef be ad de
        ef be ad de ef be ad de ef be ad de ef be ad de
        ef be ad de 05 14 ef be ad de ef be ad de ef be
        ad de ef be ad de ef be ad de 43 10 ef be ad de
        ef be ad de ef be ad de ef be ad de

Fixes: af395330abed ("Bluetooth: btintel: Add Intel devcoredump support")
Signed-off-by: Kiran K <kiran.k@intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btintel.c

index e122dff855ba3c3283154537428441935a473d4d..d496cf2c34111fc7f90aa1dcb9f6a2cfd9a5cd13 100644 (file)
@@ -3361,13 +3361,12 @@ int btintel_diagnostics(struct hci_dev *hdev, struct sk_buff *skb)
        case INTEL_TLV_TEST_EXCEPTION:
                /* Generate devcoredump from exception */
                if (!hci_devcd_init(hdev, skb->len)) {
-                       hci_devcd_append(hdev, skb);
+                       hci_devcd_append(hdev, skb_clone(skb, GFP_ATOMIC));
                        hci_devcd_complete(hdev);
                } else {
                        bt_dev_err(hdev, "Failed to generate devcoredump");
-                       kfree_skb(skb);
                }
-               return 0;
+       break;
        default:
                bt_dev_err(hdev, "Invalid exception type %02X", tlv->val[0]);
        }