public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information
@ 2024-05-17  9:54 Kiran K
  2024-05-17  9:54 ` [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak Kiran K
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Kiran K @ 2024-05-17  9:54 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: ravishankar.srivatsa, chethan.tumkur.narayan,
	chandrashekar.devegowda, vijay.satija, Kiran K

Firmware sequencer (FSEQ) is a common code shared across Bluetooth
and Wifi. Printing FSEQ will help to debug if there is any mismatch
between Bluetooth and Wifi FSEQ.

Make 'btintel_print_fseq_info' public and use it in btintel_pcie.c.

dmesg:

....

[ 5335.695740] Bluetooth: hci0: Device booted in 33872 usecs
[ 5335.695918] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0190-0291.ddc
[ 5335.697011] Bluetooth: hci0: Applying Intel DDC parameters completed
[ 5335.697837] Bluetooth: hci0: Firmware timestamp 2024.20 buildtype 0 build 62871
[ 5335.697848] Bluetooth: hci0: Firmware SHA1: 0xeffdce06
[ 5335.698655] Bluetooth: hci0: Fseq status: Success (0x00)
[ 5335.698666] Bluetooth: hci0: Fseq executed: 00.00.04.176
[ 5335.698670] Bluetooth: hci0: Fseq BT Top: 00.00.04.176
[ 5335.750204] Bluetooth: MGMT ver 1.22

Signed-off-by: Kiran <kiran.k@intel.com>
---
 drivers/bluetooth/btintel.c      | 3 ++-
 drivers/bluetooth/btintel.h      | 5 +++++
 drivers/bluetooth/btintel_pcie.c | 2 ++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 0c855c3ee1c1..2c434ff9c47c 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2713,7 +2713,7 @@ void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant)
 }
 EXPORT_SYMBOL_GPL(btintel_set_msft_opcode);
 
-static void btintel_print_fseq_info(struct hci_dev *hdev)
+void btintel_print_fseq_info(struct hci_dev *hdev)
 {
 	struct sk_buff *skb;
 	u8 *p;
@@ -2825,6 +2825,7 @@ static void btintel_print_fseq_info(struct hci_dev *hdev)
 
 	kfree_skb(skb);
 }
+EXPORT_SYMBOL_GPL(btintel_print_fseq_info);
 
 static int btintel_setup_combined(struct hci_dev *hdev)
 {
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index b5fea735e260..9dbad1a7c47c 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -244,6 +244,7 @@ int btintel_bootloader_setup_tlv(struct hci_dev *hdev,
 				 struct intel_version_tlv *ver);
 int btintel_shutdown_combined(struct hci_dev *hdev);
 void btintel_hw_error(struct hci_dev *hdev, u8 code);
+void btintel_print_fseq_info(struct hci_dev *hdev);
 #else
 
 static inline int btintel_check_bdaddr(struct hci_dev *hdev)
@@ -373,4 +374,8 @@ static inline int btintel_shutdown_combined(struct hci_dev *hdev)
 static inline void btintel_hw_error(struct hci_dev *hdev, u8 code)
 {
 }
+
+static inline void btintel_print_fseq_info(struct hci_dev *hdev)
+{
+}
 #endif
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 5b6805d87fcf..8d282ee2322c 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1197,9 +1197,11 @@ static int btintel_pcie_setup(struct hci_dev *hdev)
 		bt_dev_err(hdev, "Unsupported Intel hw variant (%u)",
 			   INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
 		err = -EINVAL;
+		goto exit_error;
 		break;
 	}
 
+	btintel_print_fseq_info(hdev);
 exit_error:
 	kfree_skb(skb);
 
-- 
2.40.1


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

* [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak
  2024-05-17  9:54 [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information Kiran K
@ 2024-05-17  9:54 ` Kiran K
  2024-05-17 10:12   ` Paul Menzel
  2024-05-17  9:54 ` [PATCH v3 3/3] Bluetooth: btintel_pcie: Fix REVERSE_INULL issue reported by coverity Kiran K
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Kiran K @ 2024-05-17  9:54 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: ravishankar.srivatsa, chethan.tumkur.narayan,
	chandrashekar.devegowda, vijay.satija, Kiran K

Free irq before releasing irq vector.

Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe transport")
Signed-off-by: Kiran <kiran.k@intel.com>
---
 drivers/bluetooth/btintel_pcie.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 8d282ee2322c..d8f82e0f6435 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1329,6 +1329,12 @@ static void btintel_pcie_remove(struct pci_dev *pdev)
 	data = pci_get_drvdata(pdev);
 
 	btintel_pcie_reset_bt(data);
+	for (int i = 0; i < data->alloc_vecs; i++) {
+		struct msix_entry *msix_entry;
+
+		msix_entry = &data->msix_entries[i];
+		free_irq(msix_entry->vector, msix_entry);
+	}
 
 	pci_free_irq_vectors(pdev);
 
-- 
2.40.1


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

* [PATCH v3 3/3] Bluetooth: btintel_pcie: Fix REVERSE_INULL issue reported by coverity
  2024-05-17  9:54 [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information Kiran K
  2024-05-17  9:54 ` [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak Kiran K
@ 2024-05-17  9:54 ` Kiran K
  2024-05-17 10:33 ` [v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information bluez.test.bot
  2024-05-20 19:40 ` [PATCH v3 1/3] " patchwork-bot+bluetooth
  3 siblings, 0 replies; 7+ messages in thread
From: Kiran K @ 2024-05-17  9:54 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: ravishankar.srivatsa, chethan.tumkur.narayan,
	chandrashekar.devegowda, vijay.satija, Kiran K

From: Vijay Satija <vijay.satija@intel.com>

check pdata return of skb_pull_data, instead of data.

Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe transport")
Signed-off-by: Vijay Satija <vijay.satija@intel.com>
Signed-off-by: Kiran K <kiran.k@intel.com>
---
 drivers/bluetooth/btintel_pcie.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index d8f82e0f6435..58144c82b1cb 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -382,7 +382,7 @@ static int btintel_pcie_recv_frame(struct btintel_pcie_data *data,
 
 	/* The first 4 bytes indicates the Intel PCIe specific packet type */
 	pdata = skb_pull_data(skb, BTINTEL_PCIE_HCI_TYPE_LEN);
-	if (!data) {
+	if (!pdata) {
 		bt_dev_err(hdev, "Corrupted packet received");
 		ret = -EILSEQ;
 		goto exit_error;
-- 
2.40.1


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

* Re: [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak
  2024-05-17  9:54 ` [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak Kiran K
@ 2024-05-17 10:12   ` Paul Menzel
  2024-05-21  0:11     ` K, Kiran
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Menzel @ 2024-05-17 10:12 UTC (permalink / raw)
  To: Kiran K
  Cc: ravishankar.srivatsa, chethan.tumkur.narayan,
	chandrashekar.devegowda, vijay.satija, linux-bluetooth

Dear Kiran,


Thank you for your patch.

Am 17.05.24 um 11:54 schrieb Kiran K:
> Free irq before releasing irq vector.

Can the leak be detected somehow? How did you detect it?

> Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe transport")
> Signed-off-by: Kiran <kiran.k@intel.com>

Just a note, that your surname is missing too.

> ---
>   drivers/bluetooth/btintel_pcie.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
> index 8d282ee2322c..d8f82e0f6435 100644
> --- a/drivers/bluetooth/btintel_pcie.c
> +++ b/drivers/bluetooth/btintel_pcie.c
> @@ -1329,6 +1329,12 @@ static void btintel_pcie_remove(struct pci_dev *pdev)
>   	data = pci_get_drvdata(pdev);
>   
>   	btintel_pcie_reset_bt(data);
> +	for (int i = 0; i < data->alloc_vecs; i++) {
> +		struct msix_entry *msix_entry;
> +
> +		msix_entry = &data->msix_entries[i];
> +		free_irq(msix_entry->vector, msix_entry);
> +	}
>   
>   	pci_free_irq_vectors(pdev);


Kind regards,

Paul

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

* RE: [v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information
  2024-05-17  9:54 [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information Kiran K
  2024-05-17  9:54 ` [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak Kiran K
  2024-05-17  9:54 ` [PATCH v3 3/3] Bluetooth: btintel_pcie: Fix REVERSE_INULL issue reported by coverity Kiran K
@ 2024-05-17 10:33 ` bluez.test.bot
  2024-05-20 19:40 ` [PATCH v3 1/3] " patchwork-bot+bluetooth
  3 siblings, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2024-05-17 10:33 UTC (permalink / raw)
  To: linux-bluetooth, kiran.k

[-- Attachment #1: Type: text/plain, Size: 4437 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=853931

---Test result---

Test Summary:
CheckPatch                    FAIL      2.39 seconds
GitLint                       FAIL      1.10 seconds
SubjectPrefix                 PASS      0.31 seconds
BuildKernel                   PASS      29.56 seconds
CheckAllWarning               PASS      32.55 seconds
CheckSparse                   PASS      39.25 seconds
CheckSmatch                   FAIL      34.92 seconds
BuildKernel32                 PASS      28.64 seconds
TestRunnerSetup               PASS      521.07 seconds
TestRunner_l2cap-tester       PASS      18.43 seconds
TestRunner_iso-tester         PASS      32.71 seconds
TestRunner_bnep-tester        PASS      4.73 seconds
TestRunner_mgmt-tester        PASS      109.65 seconds
TestRunner_rfcomm-tester      PASS      7.21 seconds
TestRunner_sco-tester         PASS      15.04 seconds
TestRunner_ioctl-tester       PASS      7.85 seconds
TestRunner_mesh-tester        PASS      5.94 seconds
TestRunner_smp-tester         PASS      8.53 seconds
TestRunner_userchan-tester    PASS      4.95 seconds
IncrementalBuild              PASS      37.34 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information
WARNING: From:/Signed-off-by: email name mismatch: 'From: Kiran K <kiran.k@intel.com>' != 'Signed-off-by: Kiran <kiran.k@intel.com>'

total: 0 errors, 1 warnings, 41 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/src/13666800.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


[v3,2/3] Bluetooth: btintel_pcie: Fix irq leak
WARNING: From:/Signed-off-by: email name mismatch: 'From: Kiran K <kiran.k@intel.com>' != 'Signed-off-by: Kiran <kiran.k@intel.com>'

total: 0 errors, 1 warnings, 12 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/src/13666801.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
14: B1 Line exceeds max length (83>80): "[ 5335.695918] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0190-0291.ddc"
16: B1 Line exceeds max length (82>80): "[ 5335.697837] Bluetooth: hci0: Firmware timestamp 2024.20 buildtype 0 build 62871"
##############################
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


---
Regards,
Linux Bluetooth


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

* Re: [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information
  2024-05-17  9:54 [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information Kiran K
                   ` (2 preceding siblings ...)
  2024-05-17 10:33 ` [v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information bluez.test.bot
@ 2024-05-20 19:40 ` patchwork-bot+bluetooth
  3 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+bluetooth @ 2024-05-20 19:40 UTC (permalink / raw)
  To: Kiran K
  Cc: linux-bluetooth, ravishankar.srivatsa, chethan.tumkur.narayan,
	chandrashekar.devegowda, vijay.satija

Hello:

This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Fri, 17 May 2024 15:24:45 +0530 you wrote:
> Firmware sequencer (FSEQ) is a common code shared across Bluetooth
> and Wifi. Printing FSEQ will help to debug if there is any mismatch
> between Bluetooth and Wifi FSEQ.
> 
> Make 'btintel_print_fseq_info' public and use it in btintel_pcie.c.
> 
> dmesg:
> 
> [...]

Here is the summary with links:
  - [v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information
    https://git.kernel.org/bluetooth/bluetooth-next/c/6197d390371e
  - [v3,2/3] Bluetooth: btintel_pcie: Fix irq leak
    https://git.kernel.org/bluetooth/bluetooth-next/c/cb49bd050d31
  - [v3,3/3] Bluetooth: btintel_pcie: Fix REVERSE_INULL issue reported by coverity
    https://git.kernel.org/bluetooth/bluetooth-next/c/637579ef9271

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

* RE: [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak
  2024-05-17 10:12   ` Paul Menzel
@ 2024-05-21  0:11     ` K, Kiran
  0 siblings, 0 replies; 7+ messages in thread
From: K, Kiran @ 2024-05-21  0:11 UTC (permalink / raw)
  To: Paul Menzel
  Cc: Srivatsa, Ravishankar, Tumkur Narayan, Chethan,
	Devegowda, Chandrashekar, Satija, Vijay,
	linux-bluetooth@vger.kernel.org

Hi Paul,

Thanks for your comments.

>-----Original Message-----
>From: Paul Menzel <pmenzel@molgen.mpg.de>
>Sent: Friday, May 17, 2024 3:42 PM
>To: K, Kiran <kiran.k@intel.com>
>Cc: Srivatsa, Ravishankar <ravishankar.srivatsa@intel.com>; Tumkur Narayan,
>Chethan <chethan.tumkur.narayan@intel.com>; Devegowda, Chandrashekar
><chandrashekar.devegowda@intel.com>; Satija, Vijay <vijay.satija@intel.com>;
>linux-bluetooth@vger.kernel.org
>Subject: Re: [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak
>
>Dear Kiran,
>
>
>Thank you for your patch.
>
>Am 17.05.24 um 11:54 schrieb Kiran K:
>> Free irq before releasing irq vector.
>
>Can the leak be detected somehow? How did you detect it?

dmesg shows traces about irq leak when the driver is unloaded.
 
>
>> Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe
>transport")
>> Signed-off-by: Kiran <kiran.k@intel.com>
>
>Just a note, that your surname is missing too.
Ack.

>
>> ---
>>   drivers/bluetooth/btintel_pcie.c | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
>> index 8d282ee2322c..d8f82e0f6435 100644
>> --- a/drivers/bluetooth/btintel_pcie.c
>> +++ b/drivers/bluetooth/btintel_pcie.c
>> @@ -1329,6 +1329,12 @@ static void btintel_pcie_remove(struct pci_dev
>*pdev)
>>   	data = pci_get_drvdata(pdev);
>>
>>   	btintel_pcie_reset_bt(data);
>> +	for (int i = 0; i < data->alloc_vecs; i++) {
>> +		struct msix_entry *msix_entry;
>> +
>> +		msix_entry = &data->msix_entries[i];
>> +		free_irq(msix_entry->vector, msix_entry);
>> +	}
>>
>>   	pci_free_irq_vectors(pdev);
>
>
>Kind regards,
>
>Paul

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

end of thread, other threads:[~2024-05-21  0:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-17  9:54 [PATCH v3 1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information Kiran K
2024-05-17  9:54 ` [PATCH v3 2/3] Bluetooth: btintel_pcie: Fix irq leak Kiran K
2024-05-17 10:12   ` Paul Menzel
2024-05-21  0:11     ` K, Kiran
2024-05-17  9:54 ` [PATCH v3 3/3] Bluetooth: btintel_pcie: Fix REVERSE_INULL issue reported by coverity Kiran K
2024-05-17 10:33 ` [v3,1/3] Bluetooth: btintel_pcie: Print Firmware Sequencer information bluez.test.bot
2024-05-20 19:40 ` [PATCH v3 1/3] " patchwork-bot+bluetooth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox