From: kernel test robot <lkp@intel.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
linux-bluetooth@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v3] Bluetooth: MGMT: Make MGMT_OP_LOAD_CONN_PARAM update existing connection
Date: Sat, 11 May 2024 06:11:41 +0800 [thread overview]
Message-ID: <202405110542.nDEonveB-lkp@intel.com> (raw)
In-Reply-To: <20240510143645.1408056-1-luiz.dentz@gmail.com>
Hi Luiz,
kernel test robot noticed the following build warnings:
[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on bluetooth/master linus/master v6.9-rc7 next-20240510]
[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/Luiz-Augusto-von-Dentz/Bluetooth-MGMT-Make-MGMT_OP_LOAD_CONN_PARAM-update-existing-connection/20240510-223834
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
patch link: https://lore.kernel.org/r/20240510143645.1408056-1-luiz.dentz%40gmail.com
patch subject: [PATCH v3] Bluetooth: MGMT: Make MGMT_OP_LOAD_CONN_PARAM update existing connection
config: arm-defconfig (https://download.01.org/0day-ci/archive/20240511/202405110542.nDEonveB-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240511/202405110542.nDEonveB-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405110542.nDEonveB-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> net/bluetooth/mgmt.c:7922:6: warning: variable 'i' is uninitialized when used here [-Wuninitialized]
if (i > 1)
^
net/bluetooth/mgmt.c:7896:7: note: initialize the variable 'i' to silence this warning
int i;
^
= 0
1 warning generated.
vim +/i +7922 net/bluetooth/mgmt.c
7888
7889 static int load_conn_param(struct sock *sk, struct hci_dev *hdev, void *data,
7890 u16 len)
7891 {
7892 struct mgmt_cp_load_conn_param *cp = data;
7893 const u16 max_param_count = ((U16_MAX - sizeof(*cp)) /
7894 sizeof(struct mgmt_conn_param));
7895 u16 param_count, expected_len;
7896 int i;
7897
7898 if (!lmp_le_capable(hdev))
7899 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM,
7900 MGMT_STATUS_NOT_SUPPORTED);
7901
7902 param_count = __le16_to_cpu(cp->param_count);
7903 if (param_count > max_param_count) {
7904 bt_dev_err(hdev, "load_conn_param: too big param_count value %u",
7905 param_count);
7906 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM,
7907 MGMT_STATUS_INVALID_PARAMS);
7908 }
7909
7910 expected_len = struct_size(cp, params, param_count);
7911 if (expected_len != len) {
7912 bt_dev_err(hdev, "load_conn_param: expected %u bytes, got %u bytes",
7913 expected_len, len);
7914 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM,
7915 MGMT_STATUS_INVALID_PARAMS);
7916 }
7917
7918 bt_dev_dbg(hdev, "param_count %u", param_count);
7919
7920 hci_dev_lock(hdev);
7921
> 7922 if (i > 1)
7923 hci_conn_params_clear_disabled(hdev);
7924
7925 for (i = 0; i < param_count; i++) {
7926 struct mgmt_conn_param *param = &cp->params[i];
7927 struct hci_conn_params *hci_param;
7928 u16 min, max, latency, timeout;
7929 u8 addr_type;
7930 bool update;
7931
7932 bt_dev_dbg(hdev, "Adding %pMR (type %u)", ¶m->addr.bdaddr,
7933 param->addr.type);
7934
7935 if (param->addr.type == BDADDR_LE_PUBLIC) {
7936 addr_type = ADDR_LE_DEV_PUBLIC;
7937 } else if (param->addr.type == BDADDR_LE_RANDOM) {
7938 addr_type = ADDR_LE_DEV_RANDOM;
7939 } else {
7940 bt_dev_err(hdev, "ignoring invalid connection parameters");
7941 continue;
7942 }
7943
7944 min = le16_to_cpu(param->min_interval);
7945 max = le16_to_cpu(param->max_interval);
7946 latency = le16_to_cpu(param->latency);
7947 timeout = le16_to_cpu(param->timeout);
7948
7949 bt_dev_dbg(hdev, "min 0x%04x max 0x%04x latency 0x%04x timeout 0x%04x",
7950 min, max, latency, timeout);
7951
7952 if (hci_check_conn_params(min, max, latency, timeout) < 0) {
7953 bt_dev_err(hdev, "ignoring invalid connection parameters");
7954 continue;
7955 }
7956
7957 /* Detect when the loading is for an existing parameter then
7958 * attempt to trigger the connection update procedure.
7959 */
7960 if (!i && param_count == 1) {
7961 hci_param = hci_conn_params_lookup(hdev,
7962 ¶m->addr.bdaddr,
7963 addr_type);
7964 if (hci_param)
7965 update = true;
7966 else
7967 hci_conn_params_clear_disabled(hdev);
7968 }
7969
7970 hci_param = hci_conn_params_add(hdev, ¶m->addr.bdaddr,
7971 addr_type);
7972 if (!hci_param) {
7973 bt_dev_err(hdev, "failed to add connection parameters");
7974 continue;
7975 }
7976
7977 hci_param->conn_min_interval = min;
7978 hci_param->conn_max_interval = max;
7979 hci_param->conn_latency = latency;
7980 hci_param->supervision_timeout = timeout;
7981
7982 if (update) {
7983 struct hci_conn *conn;
7984
7985 conn = hci_conn_hash_lookup_le(hdev, &hci_param->addr,
7986 addr_type);
7987 if (conn && conn->role == HCI_ROLE_MASTER &&
7988 (conn->le_conn_min_interval != min ||
7989 conn->le_conn_max_interval != max ||
7990 conn->le_conn_latency != latency ||
7991 conn->le_supv_timeout != timeout))
7992 hci_cmd_sync_queue(hdev, conn_update_sync,
7993 hci_param, NULL);
7994 }
7995 }
7996
7997 hci_dev_unlock(hdev);
7998
7999 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM, 0,
8000 NULL, 0);
8001 }
8002
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2024-05-10 22:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-10 14:36 [PATCH v3] Bluetooth: MGMT: Make MGMT_OP_LOAD_CONN_PARAM update existing connection Luiz Augusto von Dentz
2024-05-10 15:32 ` [v3] " bluez.test.bot
2024-05-10 22:11 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202405110542.nDEonveB-lkp@intel.com \
--to=lkp@intel.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=luiz.dentz@gmail.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).