2024-05-07 19:22:14

by Sean Wang

[permalink] [raw]
Subject: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name

From: Sean Wang <[email protected]>

Include a shared function to get the firmware name, to prevent repeating
code for similar chipsets.

Signed-off-by: Sean Wang <[email protected]>
---
v3: first added to the series
v4: rebase onto the latest code and add an additional parameter
fw_flavor into the function btmtk_fw_get_filename.
---
drivers/bluetooth/btmtk.c | 18 ++++++++++++++++++
drivers/bluetooth/btmtk.h | 8 ++++++++
2 files changed, 26 insertions(+)

diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c
index 812fd2a8f853..a0a858a0706d 100644
--- a/drivers/bluetooth/btmtk.c
+++ b/drivers/bluetooth/btmtk.c
@@ -103,6 +103,24 @@ static void btmtk_coredump_notify(struct hci_dev *hdev, int state)
}
}

+void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
+ u32 fw_flavor)
+{
+ if (dev_id == 0x7925)
+ snprintf(buf, size,
+ "mediatek/mt%04x/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
+ dev_id & 0xffff, dev_id & 0xffff, (fw_ver & 0xff) + 1);
+ else if (dev_id == 0x7961 && fw_flavor)
+ snprintf(buf, sizeof(size),
+ "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
+ dev_id & 0xffff, (fw_ver & 0xff) + 1);
+ else
+ snprintf(buf, size,
+ "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
+ dev_id & 0xffff, (fw_ver & 0xff) + 1);
+}
+EXPORT_SYMBOL_GPL(btmtk_fw_get_filename);
+
int btmtk_setup_firmware_79xx(struct hci_dev *hdev, const char *fwname,
wmt_cmd_sync_func_t wmt_cmd_sync)
{
diff --git a/drivers/bluetooth/btmtk.h b/drivers/bluetooth/btmtk.h
index cbcdb99a22e6..e76b8a358be8 100644
--- a/drivers/bluetooth/btmtk.h
+++ b/drivers/bluetooth/btmtk.h
@@ -160,6 +160,9 @@ int btmtk_register_coredump(struct hci_dev *hdev, const char *name,
u32 fw_version);

int btmtk_process_coredump(struct hci_dev *hdev, struct sk_buff *skb);
+
+void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
+ u32 fw_flavor);
#else

static inline int btmtk_set_bdaddr(struct hci_dev *hdev,
@@ -194,4 +197,9 @@ static int btmtk_process_coredump(struct hci_dev *hdev, struct sk_buff *skb)
{
return -EOPNOTSUPP;
}
+
+static void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id,
+ u32 fw_ver, u32 fw_flavor)
+{
+}
#endif
--
2.25.1



2024-05-07 19:22:30

by Sean Wang

[permalink] [raw]
Subject: [PATCH v4 2/5] Bluetooth: btmtk: apply the common btmtk_fw_get_filename

From: Sean Wang <[email protected]>

Apply the common btmtk_fw_get_filename to avoid the similar coding in each
driver.

Signed-off-by: Sean Wang <[email protected]>
---
v3: first added to the series
v4: rebase onto the latest code
---
drivers/bluetooth/btmtksdio.c | 3 +++
drivers/bluetooth/btusb.c | 14 ++------------
2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/bluetooth/btmtksdio.c b/drivers/bluetooth/btmtksdio.c
index ff4868c83cd8..04be06f73e05 100644
--- a/drivers/bluetooth/btmtksdio.c
+++ b/drivers/bluetooth/btmtksdio.c
@@ -1117,6 +1117,9 @@ static int btmtksdio_setup(struct hci_dev *hdev)
return err;
}

+ btmtk_fw_get_filename(fwname, sizeof(fwname), dev_id,
+ fw_version, 0);
+
snprintf(fwname, sizeof(fwname),
"mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
dev_id & 0xffff, (fw_version & 0xff) + 1);
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 90d1f1697357..1603e97f0d7c 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -3166,18 +3166,8 @@ static int btusb_mtk_setup(struct hci_dev *hdev)
case 0x7922:
case 0x7961:
case 0x7925:
- if (dev_id == 0x7925)
- snprintf(fw_bin_name, sizeof(fw_bin_name),
- "mediatek/mt%04x/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
- dev_id & 0xffff, dev_id & 0xffff, (fw_version & 0xff) + 1);
- else if (dev_id == 0x7961 && fw_flavor)
- snprintf(fw_bin_name, sizeof(fw_bin_name),
- "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
- dev_id & 0xffff, (fw_version & 0xff) + 1);
- else
- snprintf(fw_bin_name, sizeof(fw_bin_name),
- "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
- dev_id & 0xffff, (fw_version & 0xff) + 1);
+ btmtk_fw_get_filename(fw_bin_name, sizeof(fw_bin_name), dev_id,
+ fw_version, fw_flavor);

err = btmtk_setup_firmware_79xx(hdev, fw_bin_name,
btusb_mtk_hci_wmt_sync);
--
2.25.1


2024-05-07 19:23:16

by Sean Wang

[permalink] [raw]
Subject: [PATCH v4 5/5] Bluetooth: btusb: mediatek: add MT7922 subsystem reset

From: Hao Qin <[email protected]>

Add the support of MT7922 bluetooth subsystem reset that was called the
auto revert to self-recover from the fatal error in the controller like
the host encounters HCI cmd timeout or the controller crashes.

Co-developed-by: Sean Wang <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
Signed-off-by: Hao Qin <[email protected]>
---
v3: split from the v2 to make the patch do one thing in a patch.
v4: rebase onto the latest code
---
drivers/bluetooth/btusb.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 054e8c06bcf3..a70a5e12912b 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -3039,7 +3039,16 @@ static int btusb_mtk_subsys_reset(struct hci_dev *hdev, u32 dev_id)
u32 val;
int err;

- if (dev_id == 0x7925) {
+ if (dev_id == 0x7922) {
+ btusb_mtk_uhw_reg_read(data, MTK_BT_SUBSYS_RST, &val);
+ val |= 0x00002020;
+ btusb_mtk_uhw_reg_write(data, MTK_BT_SUBSYS_RST, val);
+ btusb_mtk_uhw_reg_write(data, MTK_EP_RST_OPT, 0x00010001);
+ btusb_mtk_uhw_reg_read(data, MTK_BT_SUBSYS_RST, &val);
+ val |= BIT(0);
+ btusb_mtk_uhw_reg_write(data, MTK_BT_SUBSYS_RST, val);
+ msleep(100);
+ } else if (dev_id == 0x7925) {
btusb_mtk_uhw_reg_read(data, MTK_BT_RESET_REG_CONNV3, &val);
val |= (1 << 5);
btusb_mtk_uhw_reg_write(data, MTK_BT_RESET_REG_CONNV3, val);
@@ -3079,6 +3088,9 @@ static int btusb_mtk_subsys_reset(struct hci_dev *hdev, u32 dev_id)
if (err < 0)
bt_dev_err(hdev, "Reset timeout");

+ if (dev_id == 0x7922)
+ btusb_mtk_uhw_reg_write(data, MTK_UDMA_INT_STA_BT, 0x000000FF);
+
btusb_mtk_id_get(data, 0x70010200, &val);
if (!val)
bt_dev_err(hdev, "Can't get device id, subsys reset fail.");
--
2.25.1


2024-05-07 20:07:24

by bluez.test.bot

[permalink] [raw]
Subject: RE: [v4,1/5] Bluetooth: btmtk: add the function to get the fw name

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

---Test result---

Test Summary:
CheckPatch PASS 3.55 seconds
GitLint FAIL 1.70 seconds
SubjectPrefix PASS 0.65 seconds
BuildKernel PASS 29.88 seconds
CheckAllWarning WARNING 32.83 seconds
CheckSparse PASS 38.08 seconds
CheckSmatch FAIL 34.55 seconds
BuildKernel32 PASS 28.70 seconds
TestRunnerSetup PASS 515.72 seconds
TestRunner_l2cap-tester PASS 18.32 seconds
TestRunner_iso-tester PASS 31.15 seconds
TestRunner_bnep-tester PASS 4.67 seconds
TestRunner_mgmt-tester PASS 110.76 seconds
TestRunner_rfcomm-tester PASS 7.20 seconds
TestRunner_sco-tester PASS 14.99 seconds
TestRunner_ioctl-tester PASS 7.70 seconds
TestRunner_mesh-tester PASS 5.79 seconds
TestRunner_smp-tester PASS 6.79 seconds
TestRunner_userchan-tester PASS 4.89 seconds
IncrementalBuild PASS 48.56 seconds

Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[v4,4/5] Bluetooth: btusb: mediatek: reset the controller before downloading the fw

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
1: T1 Title exceeds max length (83>80): "[v4,4/5] Bluetooth: btusb: mediatek: reset the controller before downloading the fw"
##############################
Test: CheckAllWarning - WARNING
Desc: Run linux kernel with all warning enabled
Output:
drivers/bluetooth/btmtk.c: In function ‘btmtk_fw_get_filename’:drivers/bluetooth/btmtk.c:115:14: warning: ‘mediatek/BT_RAM_CODE_MT’ directive output truncated writing 23 bytes into a region of size 8 [-Wformat-truncation=] 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin", | ~~~~~~~~^~~~~~~~~~~~~~~drivers/bluetooth/btmtk.c:115:5: note: directive argument in the range [1, 256] 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/bluetooth/btmtk.c:114:3: note: ‘snprintf’ output between 41 and 43 bytes into a destination of size 8 114 | snprintf(buf, sizeof(size), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | dev_id & 0xffff, (fw_ver & 0xff) + 1); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
##############################
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

2024-05-08 07:13:21

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name

Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on bluetooth/master]
[also build test WARNING on bluetooth-next/master linus/master v6.9-rc7 next-20240507]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/sean-wang-kernel-org/Bluetooth-btmtk-apply-the-common-btmtk_fw_get_filename/20240508-032333
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
patch link: https://lore.kernel.org/r/965cd14922aea67e2750ff2c2ecad773f8ba485a.1715109394.git.sean.wang%40kernel.org
patch subject: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240508/[email protected]/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240508/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

drivers/bluetooth/btmtk.c: In function 'btmtk_fw_get_filename':
>> drivers/bluetooth/btmtk.c:115:35: warning: 'mediatek/BT_RAM_CODE_MT' directive output truncated writing 23 bytes into a region of size 8 [-Wformat-truncation=]
115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
| ~~~~~~~~^~~~~~~~~~~~~~~
drivers/bluetooth/btmtk.c:115:26: note: directive argument in the range [1, 256]
115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/bluetooth/btmtk.c:114:17: note: 'snprintf' output between 41 and 43 bytes into a destination of size 8
114 | snprintf(buf, sizeof(size),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116 | dev_id & 0xffff, (fw_ver & 0xff) + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +115 drivers/bluetooth/btmtk.c

105
106 void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
107 u32 fw_flavor)
108 {
109 if (dev_id == 0x7925)
110 snprintf(buf, size,
111 "mediatek/mt%04x/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
112 dev_id & 0xffff, dev_id & 0xffff, (fw_ver & 0xff) + 1);
113 else if (dev_id == 0x7961 && fw_flavor)
114 snprintf(buf, sizeof(size),
> 115 "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
116 dev_id & 0xffff, (fw_ver & 0xff) + 1);
117 else
118 snprintf(buf, size,
119 "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
120 dev_id & 0xffff, (fw_ver & 0xff) + 1);
121 }
122 EXPORT_SYMBOL_GPL(btmtk_fw_get_filename);
123

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2024-05-08 11:23:39

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name

Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on bluetooth/master]
[also build test WARNING on bluetooth-next/master linus/master v6.9-rc7 next-20240508]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/sean-wang-kernel-org/Bluetooth-btmtk-apply-the-common-btmtk_fw_get_filename/20240508-032333
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
patch link: https://lore.kernel.org/r/965cd14922aea67e2750ff2c2ecad773f8ba485a.1715109394.git.sean.wang%40kernel.org
patch subject: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20240508/[email protected]/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 0ab4458df0688955620b72cc2c72a32dffad3615)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240508/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

In file included from drivers/bluetooth/btmtk.c:8:
In file included from include/net/bluetooth/bluetooth.h:30:
In file included from include/net/sock.h:38:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from drivers/bluetooth/btmtk.c:8:
In file included from include/net/bluetooth/bluetooth.h:30:
In file included from include/net/sock.h:38:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from drivers/bluetooth/btmtk.c:8:
In file included from include/net/bluetooth/bluetooth.h:30:
In file included from include/net/sock.h:38:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
In file included from drivers/bluetooth/btmtk.c:8:
In file included from include/net/bluetooth/bluetooth.h:30:
In file included from include/net/sock.h:46:
In file included from include/linux/netdevice.h:38:
In file included from include/net/net_namespace.h:43:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:10:
In file included from include/linux/mm.h:2210:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> drivers/bluetooth/btmtk.c:114:3: warning: 'snprintf' will always be truncated; specified size is 4, but format string expands to at least 41 [-Wformat-truncation]
114 | snprintf(buf, sizeof(size),
| ^
8 warnings generated.


vim +/snprintf +114 drivers/bluetooth/btmtk.c

105
106 void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
107 u32 fw_flavor)
108 {
109 if (dev_id == 0x7925)
110 snprintf(buf, size,
111 "mediatek/mt%04x/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
112 dev_id & 0xffff, dev_id & 0xffff, (fw_ver & 0xff) + 1);
113 else if (dev_id == 0x7961 && fw_flavor)
> 114 snprintf(buf, sizeof(size),
115 "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
116 dev_id & 0xffff, (fw_ver & 0xff) + 1);
117 else
118 snprintf(buf, size,
119 "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
120 dev_id & 0xffff, (fw_ver & 0xff) + 1);
121 }
122 EXPORT_SYMBOL_GPL(btmtk_fw_get_filename);
123

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2024-05-08 14:39:15

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name

Hi Sean,

On Wed, May 8, 2024 at 3:13 AM kernel test robot <[email protected]> wrote:
>
> Hi,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on bluetooth/master]
> [also build test WARNING on bluetooth-next/master linus/master v6.9-rc7 next-20240507]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/sean-wang-kernel-org/Bluetooth-btmtk-apply-the-common-btmtk_fw_get_filename/20240508-032333
> base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
> patch link: https://lore.kernel.org/r/965cd14922aea67e2750ff2c2ecad773f8ba485a.1715109394.git.sean.wang%40kernel.org
> patch subject: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name
> config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240508/[email protected]/config)
> compiler: aarch64-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240508/[email protected]/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <[email protected]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All warnings (new ones prefixed by >>):
>
> drivers/bluetooth/btmtk.c: In function 'btmtk_fw_get_filename':
> >> drivers/bluetooth/btmtk.c:115:35: warning: 'mediatek/BT_RAM_CODE_MT' directive output truncated writing 23 bytes into a region of size 8 [-Wformat-truncation=]
> 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> | ~~~~~~~~^~~~~~~~~~~~~~~
> drivers/bluetooth/btmtk.c:115:26: note: directive argument in the range [1, 256]
> 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/bluetooth/btmtk.c:114:17: note: 'snprintf' output between 41 and 43 bytes into a destination of size 8
> 114 | snprintf(buf, sizeof(size),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 116 | dev_id & 0xffff, (fw_ver & 0xff) + 1);
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> vim +115 drivers/bluetooth/btmtk.c
>
> 105
> 106 void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
> 107 u32 fw_flavor)
> 108 {
> 109 if (dev_id == 0x7925)
> 110 snprintf(buf, size,
> 111 "mediatek/mt%04x/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
> 112 dev_id & 0xffff, dev_id & 0xffff, (fw_ver & 0xff) + 1);
> 113 else if (dev_id == 0x7961 && fw_flavor)
> 114 snprintf(buf, sizeof(size),
> > 115 "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> 116 dev_id & 0xffff, (fw_ver & 0xff) + 1);
> 117 else
> 118 snprintf(buf, size,
> 119 "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
> 120 dev_id & 0xffff, (fw_ver & 0xff) + 1);
> 121 }
> 122 EXPORT_SYMBOL_GPL(btmtk_fw_get_filename);
> 123

Could you please fix the above?

--
Luiz Augusto von Dentz

2024-05-08 20:38:38

by Sean Wang

[permalink] [raw]
Subject: Re: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name

Hi,

On Wed, May 8, 2024 at 7:37 AM Luiz Augusto von Dentz
<[email protected]> wrote:
>
> Hi Sean,
>
> On Wed, May 8, 2024 at 3:13 AM kernel test robot <[email protected]> wrote:
> >
> > Hi,
> >
> > kernel test robot noticed the following build warnings:
> >
> > [auto build test WARNING on bluetooth/master]
> > [also build test WARNING on bluetooth-next/master linus/master v6.9-rc7 next-20240507]
> > [If your patch is applied to the wrong git tree, kindly drop us a note.
> > And when submitting patch, we suggest to use '--base' as documented in
> > https://git-scm.com/docs/git-format-patch#_base_tree_information]
> >
> > url: https://github.com/intel-lab-lkp/linux/commits/sean-wang-kernel-org/Bluetooth-btmtk-apply-the-common-btmtk_fw_get_filename/20240508-032333
> > base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
> > patch link: https://lore.kernel.org/r/965cd14922aea67e2750ff2c2ecad773f8ba485a.1715109394.git.sean.wang%40kernel.org
> > patch subject: [PATCH v4 1/5] Bluetooth: btmtk: add the function to get the fw name
> > config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240508/[email protected]/config)
> > compiler: aarch64-linux-gcc (GCC) 13.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240508/[email protected]/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <[email protected]>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> >
> > All warnings (new ones prefixed by >>):
> >
> > drivers/bluetooth/btmtk.c: In function 'btmtk_fw_get_filename':
> > >> drivers/bluetooth/btmtk.c:115:35: warning: 'mediatek/BT_RAM_CODE_MT' directive output truncated writing 23 bytes into a region of size 8 [-Wformat-truncation=]
> > 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> > | ~~~~~~~~^~~~~~~~~~~~~~~
> > drivers/bluetooth/btmtk.c:115:26: note: directive argument in the range [1, 256]
> > 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/bluetooth/btmtk.c:114:17: note: 'snprintf' output between 41 and 43 bytes into a destination of size 8
> > 114 | snprintf(buf, sizeof(size),
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 115 | "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 116 | dev_id & 0xffff, (fw_ver & 0xff) + 1);
> > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> >
> > vim +115 drivers/bluetooth/btmtk.c
> >
> > 105
> > 106 void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
> > 107 u32 fw_flavor)
> > 108 {
> > 109 if (dev_id == 0x7925)
> > 110 snprintf(buf, size,
> > 111 "mediatek/mt%04x/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
> > 112 dev_id & 0xffff, dev_id & 0xffff, (fw_ver & 0xff) + 1);
> > 113 else if (dev_id == 0x7961 && fw_flavor)
> > 114 snprintf(buf, sizeof(size),
> > > 115 "mediatek/BT_RAM_CODE_MT%04x_1a_%x_hdr.bin",
> > 116 dev_id & 0xffff, (fw_ver & 0xff) + 1);
> > 117 else
> > 118 snprintf(buf, size,
> > 119 "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
> > 120 dev_id & 0xffff, (fw_ver & 0xff) + 1);
> > 121 }
> > 122 EXPORT_SYMBOL_GPL(btmtk_fw_get_filename);
> > 123
>
> Could you please fix the above?

No problem, I'll take care of it and send it over later.

Sean
>
> --
> Luiz Augusto von Dentz