linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] Bluetooth: btintel: Dump exception event
@ 2024-04-01 12:25 Kiran K
  2024-04-01 12:25 ` [PATCH v2 2/2] Bluetooth: btintel: Direct exception event to bluetooth stack Kiran K
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Kiran K @ 2024-04-01 12:25 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: ravishankar.srivatsa, chethan.tumkur.narayan, Kiran K

Having exception event dump in kernel log helps debugging the use cases
where snoop traces are not available.

dmesg:

[27.032666] Bluetooth: hci0: Exception occurred - type: 0xde
[27.032703] Bluetooth: hci0: ff 4f 87 80 03 01 01 de 07 01 de 06 1c ef be ad
[27.032729] Bluetooth: hci0: de ef be ad de ef be ad de ef be ad de ef be ad
[27.032753] Bluetooth: hci0: de ef be ad de ef be ad de 05 14 ef be ad de ef
[27.032778] Bluetooth: hci0: be ad de ef be ad de ef be ad de ef be ad de 43
[27.032803] Bluetooth: hci0: 10 ef be ad de ef be ad de ef be ad de ef be ad
[27.032827] Bluetooth: hci0: de

Signed-off-by: Kiran K <kiran.k@intel.com>
---
 drivers/bluetooth/btintel.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index a19ebe47bd95..c0dbbd1a2032 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -3119,6 +3119,7 @@ EXPORT_SYMBOL_GPL(btintel_configure_setup);
 static int btintel_diagnostics(struct hci_dev *hdev, struct sk_buff *skb)
 {
 	struct intel_tlv *tlv = (void *)&skb->data[5];
+	char prefix[64];
 
 	/* The first event is always an event type TLV */
 	if (tlv->type != INTEL_TLV_TYPE_ID)
@@ -3129,6 +3130,12 @@ static int btintel_diagnostics(struct hci_dev *hdev, struct sk_buff *skb)
 	case INTEL_TLV_FATAL_EXCEPTION:
 	case INTEL_TLV_DEBUG_EXCEPTION:
 	case INTEL_TLV_TEST_EXCEPTION:
+		bt_dev_err(hdev, "Exception occurred - type: 0x%2.2x",
+			   tlv->val[0]);
+		snprintf(prefix, sizeof(prefix), "Bluetooth: %s: ",
+			 bt_dev_name(hdev));
+		print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_NONE, 16, 1,
+			       skb->data, skb->len, false);
 		/* Generate devcoredump from exception */
 		if (!hci_devcd_init(hdev, skb->len)) {
 			hci_devcd_append(hdev, skb);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] Bluetooth: btintel: Direct exception event to bluetooth stack
  2024-04-01 12:25 [PATCH v2 1/2] Bluetooth: btintel: Dump exception event Kiran K
@ 2024-04-01 12:25 ` Kiran K
  2024-04-01 12:40 ` [v2,1/2] Bluetooth: btintel: Dump exception event bluez.test.bot
  2024-04-25 10:09 ` [PATCH v2 1/2] " K, Kiran
  2 siblings, 0 replies; 4+ messages in thread
From: Kiran K @ 2024-04-01 12:25 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: ravishankar.srivatsa, chethan.tumkur.narayan, Kiran K

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

Signed-off-by: Kiran K <kiran.k@intel.com>
---
 drivers/bluetooth/btintel.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index c0dbbd1a2032..dde1dc45df9c 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -3138,13 +3138,12 @@ static int btintel_diagnostics(struct hci_dev *hdev, struct sk_buff *skb)
 			       skb->data, skb->len, false);
 		/* Generate devcoredump from exception */
 		if (!hci_devcd_init(hdev, skb->len)) {
-			hci_devcd_append(hdev, skb);
+			hci_devcd_append(hdev, skb_clone(skb, GFP_KERNEL));
 			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]);
 	}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [v2,1/2] Bluetooth: btintel: Dump exception event
  2024-04-01 12:25 [PATCH v2 1/2] Bluetooth: btintel: Dump exception event Kiran K
  2024-04-01 12:25 ` [PATCH v2 2/2] Bluetooth: btintel: Direct exception event to bluetooth stack Kiran K
@ 2024-04-01 12:40 ` bluez.test.bot
  2024-04-25 10:09 ` [PATCH v2 1/2] " K, Kiran
  2 siblings, 0 replies; 4+ messages in thread
From: bluez.test.bot @ 2024-04-01 12:40 UTC (permalink / raw)
  To: linux-bluetooth, kiran.k

[-- Attachment #1: Type: text/plain, Size: 2578 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=840240

---Test result---

Test Summary:
CheckPatch                    PASS      1.05 seconds
GitLint                       PASS      0.48 seconds
SubjectPrefix                 PASS      0.18 seconds
BuildKernel                   PASS      30.06 seconds
CheckAllWarning               PASS      32.69 seconds
CheckSparse                   PASS      37.65 seconds
CheckSmatch                   FAIL      34.67 seconds
BuildKernel32                 PASS      28.90 seconds
TestRunnerSetup               PASS      522.61 seconds
TestRunner_l2cap-tester       PASS      17.84 seconds
TestRunner_iso-tester         FAIL      31.02 seconds
TestRunner_bnep-tester        PASS      4.68 seconds
TestRunner_mgmt-tester        PASS      112.40 seconds
TestRunner_rfcomm-tester      PASS      7.39 seconds
TestRunner_sco-tester         PASS      15.34 seconds
TestRunner_ioctl-tester       PASS      7.70 seconds
TestRunner_mesh-tester        PASS      5.75 seconds
TestRunner_smp-tester         PASS      6.75 seconds
TestRunner_userchan-tester    PASS      4.86 seconds
IncrementalBuild              PASS      32.48 seconds

Details
##############################
Test: CheckSmatch - FAIL
Desc: Run smatch tool with source
Output:

Segmentation fault (core dumped)
make[4]: *** [scripts/Makefile.build:244: net/bluetooth/hci_core.o] Error 139
make[4]: *** Deleting file 'net/bluetooth/hci_core.o'
make[3]: *** [scripts/Makefile.build:485: net/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:485: net] Error 2
make[2]: *** Waiting for unfinished jobs....
Segmentation fault (core dumped)
make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bcm203x.o] Error 139
make[4]: *** Deleting file 'drivers/bluetooth/bcm203x.o'
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:485: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:485: drivers] Error 2
make[1]: *** [/github/workspace/src/src/Makefile:1919: .] Error 2
make: *** [Makefile:240: __sub-make] Error 2
##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
Total: 117, Passed: 116 (99.1%), Failed: 1, Not Run: 0

Failed Test Cases
ISO Connect2 Suspend - Success                       Failed       4.219 seconds


---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH v2 1/2] Bluetooth: btintel: Dump exception event
  2024-04-01 12:25 [PATCH v2 1/2] Bluetooth: btintel: Dump exception event Kiran K
  2024-04-01 12:25 ` [PATCH v2 2/2] Bluetooth: btintel: Direct exception event to bluetooth stack Kiran K
  2024-04-01 12:40 ` [v2,1/2] Bluetooth: btintel: Dump exception event bluez.test.bot
@ 2024-04-25 10:09 ` K, Kiran
  2 siblings, 0 replies; 4+ messages in thread
From: K, Kiran @ 2024-04-25 10:09 UTC (permalink / raw)
  To: linux-bluetooth@vger.kernel.org
  Cc: Srivatsa, Ravishankar, Tumkur Narayan, Chethan

Hi Luiz,

Friendly reminder.

> -----Original Message-----
> From: K, Kiran <kiran.k@intel.com>
> Sent: Monday, April 1, 2024 5:56 PM
> To: linux-bluetooth@vger.kernel.org
> Cc: Srivatsa, Ravishankar <ravishankar.srivatsa@intel.com>; Tumkur Narayan,
> Chethan <chethan.tumkur.narayan@intel.com>; K, Kiran <kiran.k@intel.com>
> Subject: [PATCH v2 1/2] Bluetooth: btintel: Dump exception event
> 
> Having exception event dump in kernel log helps debugging the use cases
> where snoop traces are not available.
> 
> dmesg:
> 
> [27.032666] Bluetooth: hci0: Exception occurred - type: 0xde [27.032703]
> Bluetooth: hci0: ff 4f 87 80 03 01 01 de 07 01 de 06 1c ef be ad [27.032729]
> Bluetooth: hci0: de ef be ad de ef be ad de ef be ad de ef be ad [27.032753]
> Bluetooth: hci0: de ef be ad de ef be ad de 05 14 ef be ad de ef [27.032778]
> Bluetooth: hci0: be ad de ef be ad de ef be ad de ef be ad de 43 [27.032803]
> Bluetooth: hci0: 10 ef be ad de ef be ad de ef be ad de ef be ad [27.032827]
> Bluetooth: hci0: de
> 
> Signed-off-by: Kiran K <kiran.k@intel.com>
> ---
>  drivers/bluetooth/btintel.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c index
> a19ebe47bd95..c0dbbd1a2032 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -3119,6 +3119,7 @@ EXPORT_SYMBOL_GPL(btintel_configure_setup);
>  static int btintel_diagnostics(struct hci_dev *hdev, struct sk_buff *skb)  {
>  	struct intel_tlv *tlv = (void *)&skb->data[5];
> +	char prefix[64];
> 
>  	/* The first event is always an event type TLV */
>  	if (tlv->type != INTEL_TLV_TYPE_ID)
> @@ -3129,6 +3130,12 @@ static int btintel_diagnostics(struct hci_dev *hdev,
> struct sk_buff *skb)
>  	case INTEL_TLV_FATAL_EXCEPTION:
>  	case INTEL_TLV_DEBUG_EXCEPTION:
>  	case INTEL_TLV_TEST_EXCEPTION:
> +		bt_dev_err(hdev, "Exception occurred - type: 0x%2.2x",
> +			   tlv->val[0]);
> +		snprintf(prefix, sizeof(prefix), "Bluetooth: %s: ",
> +			 bt_dev_name(hdev));
> +		print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_NONE, 16,
> 1,
> +			       skb->data, skb->len, false);
>  		/* Generate devcoredump from exception */
>  		if (!hci_devcd_init(hdev, skb->len)) {
>  			hci_devcd_append(hdev, skb);
> --
> 2.34.1

Thanks,
Kiran



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-25 10:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-01 12:25 [PATCH v2 1/2] Bluetooth: btintel: Dump exception event Kiran K
2024-04-01 12:25 ` [PATCH v2 2/2] Bluetooth: btintel: Direct exception event to bluetooth stack Kiran K
2024-04-01 12:40 ` [v2,1/2] Bluetooth: btintel: Dump exception event bluez.test.bot
2024-04-25 10:09 ` [PATCH v2 1/2] " K, Kiran

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).