2022-05-09 16:38:54

by Dimitri John Ledkov

[permalink] [raw]
Subject: [PATCH] Bluetooth: btintel: Correctly declare all module firmware files.

Correctly declare wildcard of module firmwares to include, as the
driver & linux-firmware ship many sfi/ddc files for many different
devices which are dynamically calculated and loaded by the driver.

This especially affects environments that only install firmware files
declared and referenced by the kernel module. In such environments,
only the declared firmware files were copied resulting in most Intel
Bluetooth devices not working. I.e. host-only dracut-install initrds,
or Ubuntu Core kernel snaps.

BugLink: https://bugs.launchpad.net/bugs/1970819
Signed-off-by: Dimitri John Ledkov <[email protected]>
---
drivers/bluetooth/btintel.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 06514ed66022..9f5fc1ab154d 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2654,7 +2654,5 @@ MODULE_AUTHOR("Marcel Holtmann <[email protected]>");
MODULE_DESCRIPTION("Bluetooth support for Intel devices ver " VERSION);
MODULE_VERSION(VERSION);
MODULE_LICENSE("GPL");
-MODULE_FIRMWARE("intel/ibt-11-5.sfi");
-MODULE_FIRMWARE("intel/ibt-11-5.ddc");
-MODULE_FIRMWARE("intel/ibt-12-16.sfi");
-MODULE_FIRMWARE("intel/ibt-12-16.ddc");
+MODULE_FIRMWARE("intel/ibt-*.sfi");
+MODULE_FIRMWARE("intel/ibt-*.ddc");
--
2.32.0



2022-05-09 17:35:22

by bluez.test.bot

[permalink] [raw]
Subject: RE: Bluetooth: btintel: Correctly declare all module firmware files.

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=639836

---Test result---

Test Summary:
CheckPatch PASS 1.59 seconds
GitLint FAIL 0.99 seconds
SubjectPrefix PASS 0.93 seconds
BuildKernel PASS 31.76 seconds
BuildKernel32 PASS 28.69 seconds
Incremental Build with patchesPASS 38.90 seconds
TestRunner: Setup PASS 475.73 seconds
TestRunner: l2cap-tester PASS 17.45 seconds
TestRunner: bnep-tester PASS 6.16 seconds
TestRunner: mgmt-tester PASS 102.48 seconds
TestRunner: rfcomm-tester PASS 9.62 seconds
TestRunner: sco-tester PASS 9.46 seconds
TestRunner: smp-tester PASS 9.42 seconds
TestRunner: userchan-tester PASS 6.37 seconds

Details
##############################
Test: GitLint - FAIL - 0.99 seconds
Run gitlint with rule in .gitlint
Bluetooth: btintel: Correctly declare all module firmware files.
1: T3 Title has trailing punctuation (.): "Bluetooth: btintel: Correctly declare all module firmware files."




---
Regards,
Linux Bluetooth

2022-05-14 00:45:45

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btintel: Correctly declare all module firmware files.

Hi Dimitri,

> Correctly declare wildcard of module firmwares to include, as the
> driver & linux-firmware ship many sfi/ddc files for many different
> devices which are dynamically calculated and loaded by the driver.
>
> This especially affects environments that only install firmware files
> declared and referenced by the kernel module. In such environments,
> only the declared firmware files were copied resulting in most Intel
> Bluetooth devices not working. I.e. host-only dracut-install initrds,
> or Ubuntu Core kernel snaps.
>
> BugLink: https://bugs.launchpad.net/bugs/1970819
> Signed-off-by: Dimitri John Ledkov <[email protected]>
> ---
> drivers/bluetooth/btintel.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index 06514ed66022..9f5fc1ab154d 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2654,7 +2654,5 @@ MODULE_AUTHOR("Marcel Holtmann <[email protected]>");
> MODULE_DESCRIPTION("Bluetooth support for Intel devices ver " VERSION);
> MODULE_VERSION(VERSION);
> MODULE_LICENSE("GPL");
> -MODULE_FIRMWARE("intel/ibt-11-5.sfi");
> -MODULE_FIRMWARE("intel/ibt-11-5.ddc");
> -MODULE_FIRMWARE("intel/ibt-12-16.sfi");
> -MODULE_FIRMWARE("intel/ibt-12-16.ddc");
> +MODULE_FIRMWARE("intel/ibt-*.sfi");
> +MODULE_FIRMWARE("intel/ibt-*.ddc");

NAK, we should just declare any missing firmwares. The tables inside the driver are pretty clear on what hardware is marked as supported. It just seems someone forgot to add the firmware files for it.

Regards

Marcel