Message ID | 20220516103329.516952-1-dimitri.ledkov@canonical.com |
---|---|
State | Superseded |
Headers | show |
Series | [v2] Bluetooth: btintel: Correctly declare all module firmware files | expand |
Hi Marcel Does this v2 patch address the concerns you mentioned in your review of the v1 patch at https://lore.kernel.org/linux-bluetooth/3EA82A93-D167-482D-AAF4-D781B77A4646@holtmann.org/ ? Or can you explain a bit more how I misunderstood your request? This patch correctly documents the strict patterns of dozens or so existing firmware files which this driver can load for each of the hw variants. On Mon, 16 May 2022 at 11:33, Dimitri John Ledkov <dimitri.ledkov@canonical.com> wrote: > > Strictly encode patterns of supported hw_variants of firmware files > the kernel driver supports requesting. This now includes many missing > and previously undeclared module firmware files for 0x07, 0x08, > 0x11-0x14 hw_variants. > > This especially affects environments that only install firmware files > declared and referenced by the kernel modules. In such environments, > only the declared firmware files are 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 <dimitri.ledkov@canonical.com> > --- > > Changes since v1: > - encode strict patterns of supported firmware files for each of the > supported hw_variant generations. > > v1 submission link > https://lore.kernel.org/linux-bluetooth/20220509163259.1513242-1-dimitri.ledkov@canonical.com/ > > drivers/bluetooth/btintel.c | 23 +++++++++++++++++++---- > 1 file changed, 19 insertions(+), 4 deletions(-) > > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c > index 06514ed66022..17022758b5bd 100644 > --- a/drivers/bluetooth/btintel.c > +++ b/drivers/bluetooth/btintel.c > @@ -2654,7 +2654,22 @@ MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>"); > 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"); > +/* hw_variant 0x07 0x08 */ > +MODULE_FIRMWARE("intel/ibt-hw-37.7.*-fw-*.*.*.*.*.bseq"); > +MODULE_FIRMWARE("intel/ibt-hw-37.7.bseq"); > +MODULE_FIRMWARE("intel/ibt-hw-37.8.*-fw-*.*.*.*.*.bseq"); > +MODULE_FIRMWARE("intel/ibt-hw-37.8.bseq"); > +/* hw_variant 0x0b 0x0c */ > +MODULE_FIRMWARE("intel/ibt-11-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-12-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-11-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-12-*.ddc"); > +/* hw_variant 0x11 0x12 0x13 0x14 */ > +MODULE_FIRMWARE("intel/ibt-17-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-18-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-19-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-20-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-17-*-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-18-*-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-19-*-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-20-*-*.ddc"); > -- > 2.32.0 >
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c index 06514ed66022..17022758b5bd 100644 --- a/drivers/bluetooth/btintel.c +++ b/drivers/bluetooth/btintel.c @@ -2654,7 +2654,22 @@ MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>"); 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"); +/* hw_variant 0x07 0x08 */ +MODULE_FIRMWARE("intel/ibt-hw-37.7.*-fw-*.*.*.*.*.bseq"); +MODULE_FIRMWARE("intel/ibt-hw-37.7.bseq"); +MODULE_FIRMWARE("intel/ibt-hw-37.8.*-fw-*.*.*.*.*.bseq"); +MODULE_FIRMWARE("intel/ibt-hw-37.8.bseq"); +/* hw_variant 0x0b 0x0c */ +MODULE_FIRMWARE("intel/ibt-11-*.sfi"); +MODULE_FIRMWARE("intel/ibt-12-*.sfi"); +MODULE_FIRMWARE("intel/ibt-11-*.ddc"); +MODULE_FIRMWARE("intel/ibt-12-*.ddc"); +/* hw_variant 0x11 0x12 0x13 0x14 */ +MODULE_FIRMWARE("intel/ibt-17-*-*.sfi"); +MODULE_FIRMWARE("intel/ibt-18-*-*.sfi"); +MODULE_FIRMWARE("intel/ibt-19-*-*.sfi"); +MODULE_FIRMWARE("intel/ibt-20-*-*.sfi"); +MODULE_FIRMWARE("intel/ibt-17-*-*.ddc"); +MODULE_FIRMWARE("intel/ibt-18-*-*.ddc"); +MODULE_FIRMWARE("intel/ibt-19-*-*.ddc"); +MODULE_FIRMWARE("intel/ibt-20-*-*.ddc");
Strictly encode patterns of supported hw_variants of firmware files the kernel driver supports requesting. This now includes many missing and previously undeclared module firmware files for 0x07, 0x08, 0x11-0x14 hw_variants. This especially affects environments that only install firmware files declared and referenced by the kernel modules. In such environments, only the declared firmware files are 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 <dimitri.ledkov@canonical.com> --- Changes since v1: - encode strict patterns of supported firmware files for each of the supported hw_variant generations. v1 submission link https://lore.kernel.org/linux-bluetooth/20220509163259.1513242-1-dimitri.ledkov@canonical.com/ drivers/bluetooth/btintel.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-)