From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org, Tamizh chelvam <tamizhr@codeaurora.org>
Cc: kbuild-all@01.org, johannes@sipsolutions.net,
ath10k@lists.infradead.org, linux-wireless@vger.kernel.org,
Tamizh chelvam <tamizhr@codeaurora.org>
Subject: Re: [PATCHv3 8/9] ath10k: Add new api to support TID specific configuration
Date: Mon, 11 Mar 2019 10:02:07 +0300 [thread overview]
Message-ID: <20190311070207.GA2412@kadam> (raw)
In-Reply-To: <1551895251-22941-9-git-send-email-tamizhr@codeaurora.org>
Hi Tamizh,
url: https://github.com/0day-ci/linux/commits/Tamizh-chelvam/cfg80211-mac80211-Add-support-for-TID-specific-configuration/20190308-195433
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
smatch warnings:
drivers/net/wireless/ath/ath10k/mac.c:8438 ath10k_mac_op_set_tid_config() error: uninitialized symbol 'ret'.
# https://github.com/0day-ci/linux/commit/2eab2d81c36efa0cf08b02bfe2df3f83a2e2d756
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 2eab2d81c36efa0cf08b02bfe2df3f83a2e2d756
vim +/ret +8438 drivers/net/wireless/ath/ath10k/mac.c
6a7f8911 Anilkumar Kolli 2017-12-05 8306
2eab2d81 Tamizh chelvam 2019-03-06 8307 static int ath10k_mac_op_set_tid_config(struct ieee80211_hw *hw,
2eab2d81 Tamizh chelvam 2019-03-06 8308 struct ieee80211_vif *vif,
2eab2d81 Tamizh chelvam 2019-03-06 8309 struct ieee80211_sta *sta,
2eab2d81 Tamizh chelvam 2019-03-06 8310 struct ieee80211_tid_config *tid_config)
2eab2d81 Tamizh chelvam 2019-03-06 8311 {
2eab2d81 Tamizh chelvam 2019-03-06 8312 struct ath10k *ar = hw->priv;
2eab2d81 Tamizh chelvam 2019-03-06 8313 struct ath10k_vif *arvif = (void *)vif->drv_priv;
2eab2d81 Tamizh chelvam 2019-03-06 8314 struct ath10k_mac_iter_tid_conf_data data = {};
2eab2d81 Tamizh chelvam 2019-03-06 8315 struct wmi_per_peer_per_tid_cfg_arg arg = {};
2eab2d81 Tamizh chelvam 2019-03-06 8316 int ret, i;
2eab2d81 Tamizh chelvam 2019-03-06 8317 u8 changed;
2eab2d81 Tamizh chelvam 2019-03-06 8318
2eab2d81 Tamizh chelvam 2019-03-06 8319 mutex_lock(&ar->conf_mutex);
2eab2d81 Tamizh chelvam 2019-03-06 8320 arg.vdev_id = arvif->vdev_id;
2eab2d81 Tamizh chelvam 2019-03-06 8321
2eab2d81 Tamizh chelvam 2019-03-06 8322 memset(arvif->tid_conf_changed, 0, sizeof(arvif->tid_conf_changed));
2eab2d81 Tamizh chelvam 2019-03-06 8323
2eab2d81 Tamizh chelvam 2019-03-06 8324 for (i = 0; i < tid_config->n_tid_conf; i++) {
2eab2d81 Tamizh chelvam 2019-03-06 8325 if (tid_config->tid_conf[i].tid >= IEEE80211_TID_MAX)
2eab2d81 Tamizh chelvam 2019-03-06 8326 continue;
^^^^^^^^^
We would have to hit this continue over and over and "sta" would have
to be non-NULL for this to be an issue.
2eab2d81 Tamizh chelvam 2019-03-06 8327
2eab2d81 Tamizh chelvam 2019-03-06 8328 ath10k_mac_parse_tid_config(ar, sta, vif,
2eab2d81 Tamizh chelvam 2019-03-06 8329 &tid_config->tid_conf[i],
2eab2d81 Tamizh chelvam 2019-03-06 8330 &arg);
2eab2d81 Tamizh chelvam 2019-03-06 8331 changed = tid_config->tid_conf[i].tid_conf_mask;
2eab2d81 Tamizh chelvam 2019-03-06 8332 if (sta) {
2eab2d81 Tamizh chelvam 2019-03-06 8333 if (!sta->wme) {
2eab2d81 Tamizh chelvam 2019-03-06 8334 ret = -ENOTSUPP;
2eab2d81 Tamizh chelvam 2019-03-06 8335 goto exit;
2eab2d81 Tamizh chelvam 2019-03-06 8336 }
2eab2d81 Tamizh chelvam 2019-03-06 8337
2eab2d81 Tamizh chelvam 2019-03-06 8338 if (changed & IEEE80211_TID_CONF_RETRY) {
2eab2d81 Tamizh chelvam 2019-03-06 8339 if (sta->noack[arg.tid] == WMI_PEER_TID_CONFIG_NOACK ||
2eab2d81 Tamizh chelvam 2019-03-06 8340 vif->noack[arg.tid] == WMI_PEER_TID_CONFIG_NOACK)
2eab2d81 Tamizh chelvam 2019-03-06 8341 arg.retry_count = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8342 }
2eab2d81 Tamizh chelvam 2019-03-06 8343
2eab2d81 Tamizh chelvam 2019-03-06 8344 if (changed & IEEE80211_TID_CONF_AMPDU) {
2eab2d81 Tamizh chelvam 2019-03-06 8345 if (sta->noack[arg.tid] == WMI_PEER_TID_CONFIG_NOACK ||
2eab2d81 Tamizh chelvam 2019-03-06 8346 vif->noack[arg.tid] == WMI_PEER_TID_CONFIG_NOACK)
2eab2d81 Tamizh chelvam 2019-03-06 8347 arg.aggr_control = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8348 }
2eab2d81 Tamizh chelvam 2019-03-06 8349
2eab2d81 Tamizh chelvam 2019-03-06 8350 if (changed & IEEE80211_TID_CONF_TX_BITRATE) {
2eab2d81 Tamizh chelvam 2019-03-06 8351 if (sta->noack[arg.tid] == WMI_PEER_TID_CONFIG_NOACK ||
2eab2d81 Tamizh chelvam 2019-03-06 8352 vif->noack[arg.tid] == WMI_PEER_TID_CONFIG_NOACK) {
2eab2d81 Tamizh chelvam 2019-03-06 8353 arg.rate_ctrl = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8354 arg.rcode_flags = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8355 }
2eab2d81 Tamizh chelvam 2019-03-06 8356 }
2eab2d81 Tamizh chelvam 2019-03-06 8357
2eab2d81 Tamizh chelvam 2019-03-06 8358 ether_addr_copy(arg.peer_macaddr.addr, sta->addr);
2eab2d81 Tamizh chelvam 2019-03-06 8359 ret = ath10k_wmi_set_per_peer_per_tid_cfg(ar, &arg);
2eab2d81 Tamizh chelvam 2019-03-06 8360 if (ret)
2eab2d81 Tamizh chelvam 2019-03-06 8361 goto exit;
2eab2d81 Tamizh chelvam 2019-03-06 8362
2eab2d81 Tamizh chelvam 2019-03-06 8363 /* Store the configured parameters in success case */
2eab2d81 Tamizh chelvam 2019-03-06 8364 if (changed & IEEE80211_TID_CONF_NOACK) {
2eab2d81 Tamizh chelvam 2019-03-06 8365 if (tid_config->tid_conf[i].noack ==
2eab2d81 Tamizh chelvam 2019-03-06 8366 NL80211_TID_CONFIG_DEFAULT) {
2eab2d81 Tamizh chelvam 2019-03-06 8367 sta->noack[arg.tid] = -1;
2eab2d81 Tamizh chelvam 2019-03-06 8368 } else {
2eab2d81 Tamizh chelvam 2019-03-06 8369 sta->noack[arg.tid] = arg.ack_policy;
2eab2d81 Tamizh chelvam 2019-03-06 8370 }
2eab2d81 Tamizh chelvam 2019-03-06 8371
2eab2d81 Tamizh chelvam 2019-03-06 8372 arg.ack_policy = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8373 arg.aggr_control = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8374 arg.rate_ctrl = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8375 arg.rcode_flags = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8376 }
2eab2d81 Tamizh chelvam 2019-03-06 8377
2eab2d81 Tamizh chelvam 2019-03-06 8378 if (changed & IEEE80211_TID_CONF_RETRY) {
2eab2d81 Tamizh chelvam 2019-03-06 8379 if (tid_config->tid_conf[i].retry_long == -1) {
2eab2d81 Tamizh chelvam 2019-03-06 8380 sta->retry_long[arg.tid] = -1;
2eab2d81 Tamizh chelvam 2019-03-06 8381 } else {
2eab2d81 Tamizh chelvam 2019-03-06 8382 sta->retry_long[arg.tid] = arg.retry_count;
2eab2d81 Tamizh chelvam 2019-03-06 8383 }
2eab2d81 Tamizh chelvam 2019-03-06 8384
2eab2d81 Tamizh chelvam 2019-03-06 8385 arg.retry_count = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8386 }
2eab2d81 Tamizh chelvam 2019-03-06 8387
2eab2d81 Tamizh chelvam 2019-03-06 8388 if (changed & IEEE80211_TID_CONF_AMPDU) {
2eab2d81 Tamizh chelvam 2019-03-06 8389 if (tid_config->tid_conf[i].ampdu ==
2eab2d81 Tamizh chelvam 2019-03-06 8390 NL80211_TID_CONFIG_DEFAULT) {
2eab2d81 Tamizh chelvam 2019-03-06 8391 sta->ampdu[arg.tid] = -1;
2eab2d81 Tamizh chelvam 2019-03-06 8392 } else {
2eab2d81 Tamizh chelvam 2019-03-06 8393 sta->ampdu[arg.tid] = arg.aggr_control;
2eab2d81 Tamizh chelvam 2019-03-06 8394 }
2eab2d81 Tamizh chelvam 2019-03-06 8395
2eab2d81 Tamizh chelvam 2019-03-06 8396 arg.aggr_control = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8397 }
2eab2d81 Tamizh chelvam 2019-03-06 8398
2eab2d81 Tamizh chelvam 2019-03-06 8399 if (changed & IEEE80211_TID_CONF_TX_BITRATE) {
2eab2d81 Tamizh chelvam 2019-03-06 8400 sta->rate_ctrl[arg.tid] = arg.rate_ctrl;
2eab2d81 Tamizh chelvam 2019-03-06 8401 arg.rate_ctrl = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8402 arg.rcode_flags = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8403 }
2eab2d81 Tamizh chelvam 2019-03-06 8404 } else {
2eab2d81 Tamizh chelvam 2019-03-06 8405 arvif->tid_conf_changed[arg.tid] |= changed;
2eab2d81 Tamizh chelvam 2019-03-06 8406
2eab2d81 Tamizh chelvam 2019-03-06 8407 if (changed & IEEE80211_TID_CONF_NOACK) {
2eab2d81 Tamizh chelvam 2019-03-06 8408 vif->noack[arg.tid] = arg.ack_policy;
2eab2d81 Tamizh chelvam 2019-03-06 8409 vif->ampdu[arg.tid] = arg.aggr_control;
2eab2d81 Tamizh chelvam 2019-03-06 8410 vif->rate_ctrl[arg.tid] = arg.rate_ctrl;
2eab2d81 Tamizh chelvam 2019-03-06 8411 }
2eab2d81 Tamizh chelvam 2019-03-06 8412
2eab2d81 Tamizh chelvam 2019-03-06 8413 if (changed & IEEE80211_TID_CONF_RETRY)
2eab2d81 Tamizh chelvam 2019-03-06 8414 vif->retry_long[arg.tid] = arg.retry_count;
2eab2d81 Tamizh chelvam 2019-03-06 8415
2eab2d81 Tamizh chelvam 2019-03-06 8416 if (changed & IEEE80211_TID_CONF_AMPDU)
2eab2d81 Tamizh chelvam 2019-03-06 8417 vif->ampdu[arg.tid] = arg.aggr_control;
2eab2d81 Tamizh chelvam 2019-03-06 8418
2eab2d81 Tamizh chelvam 2019-03-06 8419 if (changed & IEEE80211_TID_CONF_TX_BITRATE) {
2eab2d81 Tamizh chelvam 2019-03-06 8420 vif->rate_ctrl[arg.tid] = arg.rate_ctrl;
2eab2d81 Tamizh chelvam 2019-03-06 8421 vif->rate_code[arg.tid] = arg.rcode_flags;
2eab2d81 Tamizh chelvam 2019-03-06 8422 }
2eab2d81 Tamizh chelvam 2019-03-06 8423 }
2eab2d81 Tamizh chelvam 2019-03-06 8424 }
2eab2d81 Tamizh chelvam 2019-03-06 8425
2eab2d81 Tamizh chelvam 2019-03-06 8426 if (sta)
2eab2d81 Tamizh chelvam 2019-03-06 8427 goto exit;
2eab2d81 Tamizh chelvam 2019-03-06 8428
2eab2d81 Tamizh chelvam 2019-03-06 8429 ret = 0;
2eab2d81 Tamizh chelvam 2019-03-06 8430 data.curr_vif = vif;
2eab2d81 Tamizh chelvam 2019-03-06 8431 data.ar = ar;
2eab2d81 Tamizh chelvam 2019-03-06 8432
2eab2d81 Tamizh chelvam 2019-03-06 8433 ieee80211_iterate_stations_atomic(hw, ath10k_mac_vif_stations_tid_conf,
2eab2d81 Tamizh chelvam 2019-03-06 8434 &data);
2eab2d81 Tamizh chelvam 2019-03-06 8435
2eab2d81 Tamizh chelvam 2019-03-06 8436 exit:
2eab2d81 Tamizh chelvam 2019-03-06 8437 mutex_unlock(&ar->conf_mutex);
2eab2d81 Tamizh chelvam 2019-03-06 @8438 return ret;
2eab2d81 Tamizh chelvam 2019-03-06 8439 }
2eab2d81 Tamizh chelvam 2019-03-06 8440
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
next prev parent reply other threads:[~2019-03-11 7:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-06 18:00 [PATCHv3 0/9] cfg80211/mac80211: Add support for TID specific configuration Tamizh chelvam
2019-03-06 18:00 ` [PATCHv3 1/9] nl80211: New netlink command " Tamizh chelvam
2019-03-26 7:00 ` Dan Carpenter
2019-03-06 18:00 ` [PATCHv3 2/9] nl80211: Add new netlink attribute for TID speicific retry count Tamizh chelvam
2019-03-06 18:00 ` [PATCHv3 3/9] nl80211: Add netlink attribute for AMPDU aggregation enable/disable Tamizh chelvam
2019-03-06 18:00 ` [PATCHv3 4/9] nl80211: Add netlink attribute to enable/disable RTS_CTS Tamizh chelvam
2019-03-06 18:00 ` [PATCHv3 5/9] nl80211: Add netlink attribute to configure TID specific tx rate Tamizh chelvam
2019-03-06 18:00 ` [PATCHv3 6/9] mac80211: Add api to support configuring TID specific configuration Tamizh chelvam
2019-03-08 16:54 ` kbuild test robot
2019-03-06 18:00 ` [PATCHv3 7/9] ath10k: Add wmi command support for station specific TID config Tamizh chelvam
2019-03-06 18:00 ` [PATCHv3 8/9] ath10k: Add new api to support TID specific configuration Tamizh chelvam
2019-03-11 7:02 ` Dan Carpenter [this message]
2019-03-06 18:00 ` [PATCHv3 9/9] ath10k: Add extended TID configuration support Tamizh chelvam
2019-03-08 19:30 ` [PATCHv3 0/9] cfg80211/mac80211: Add support for TID specific configuration Sergey Matyukevich
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=20190311070207.GA2412@kadam \
--to=dan.carpenter@oracle.com \
--cc=ath10k@lists.infradead.org \
--cc=johannes@sipsolutions.net \
--cc=kbuild-all@01.org \
--cc=kbuild@01.org \
--cc=linux-wireless@vger.kernel.org \
--cc=tamizhr@codeaurora.org \
/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 NNTP newsgroup(s).