lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 16 Dec 2019 17:03:54 +0000
From:   Jérôme Pouiller <Jerome.Pouiller@...abs.com>
To:     "devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
        "linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>
CC:     "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Kalle Valo <kvalo@...eaurora.org>,
        "David S . Miller" <davem@...emloft.net>,
        Jérôme Pouiller <Jerome.Pouiller@...abs.com>
Subject: [PATCH 41/55] staging: wfx: drop struct wfx_edca_params

From: Jérôme Pouiller <jerome.pouiller@...abs.com>

Intermediate structure wfx_edca_params does not help. This patch
relocates its members directly in struct wfx_vif.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@...abs.com>
---
 drivers/staging/wfx/queue.c |  4 ++--
 drivers/staging/wfx/sta.c   | 18 +++++++++---------
 drivers/staging/wfx/sta.h   |  6 ------
 drivers/staging/wfx/wfx.h   |  3 ++-
 4 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/wfx/queue.c b/drivers/staging/wfx/queue.c
index 680fed31cefb..16216afe6cfc 100644
--- a/drivers/staging/wfx/queue.c
+++ b/drivers/staging/wfx/queue.c
@@ -452,7 +452,7 @@ static int wfx_get_prio_queue(struct wfx_vif *wvif,
 	for (i = 0; i < IEEE80211_NUM_ACS; ++i) {
 		int queued;
 
-		edca = &wvif->edca.params[i];
+		edca = &wvif->edca_params[i];
 		queued = wfx_tx_queue_get_num_queued(&wvif->wdev->tx_queue[i],
 				tx_allowed_mask);
 		if (!queued)
@@ -595,7 +595,7 @@ struct hif_msg *wfx_tx_queues_get(struct wfx_dev *wdev)
 		wvif->pspoll_mask &= ~BIT(tx_priv->raw_link_id);
 
 		/* allow bursting if txop is set */
-		if (wvif->edca.params[queue_num].tx_op_limit)
+		if (wvif->edca_params[queue_num].tx_op_limit)
 			burst = (int)wfx_tx_queue_get_num_queued(queue, tx_allowed_mask) + 1;
 		else
 			burst = 1;
diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c
index b4007afcd0c6..d52f618062a6 100644
--- a/drivers/staging/wfx/sta.c
+++ b/drivers/staging/wfx/sta.c
@@ -299,7 +299,7 @@ static int wfx_update_pm(struct wfx_vif *wvif)
 		return 0;
 	if (!ps)
 		ps_timeout = 0;
-	if (wvif->edca.uapsd_mask)
+	if (wvif->uapsd_mask)
 		ps_timeout = 0;
 
 	// Kernel disable PowerSave when multiple vifs are in use. In contrary,
@@ -327,8 +327,8 @@ int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 	WARN_ON(queue >= hw->queues);
 
 	mutex_lock(&wdev->conf_mutex);
-	assign_bit(queue, &wvif->edca.uapsd_mask, params->uapsd);
-	edca = &wvif->edca.params[queue];
+	assign_bit(queue, &wvif->uapsd_mask, params->uapsd);
+	edca = &wvif->edca_params[queue];
 	edca->aifsn = params->aifs;
 	edca->cw_min = params->cw_min;
 	edca->cw_max = params->cw_max;
@@ -337,7 +337,7 @@ int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 	hif_set_edca_queue_params(wvif, edca);
 
 	if (wvif->vif->type == NL80211_IFTYPE_STATION) {
-		hif_set_uapsd_info(wvif, wvif->edca.uapsd_mask);
+		hif_set_uapsd_info(wvif, wvif->uapsd_mask);
 		if (wvif->setbssparams_done && wvif->state == WFX_STATE_STA)
 			wfx_update_pm(wvif);
 	}
@@ -1426,7 +1426,7 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 		},
 	};
 
-	BUILD_BUG_ON(ARRAY_SIZE(default_edca_params) != ARRAY_SIZE(wvif->edca.params));
+	BUILD_BUG_ON(ARRAY_SIZE(default_edca_params) != ARRAY_SIZE(wvif->edca_params));
 	if (wfx_api_older_than(wdev, 2, 0)) {
 		default_edca_params[IEEE80211_AC_BE].queue_id = HIF_QUEUE_ID_BACKGROUND;
 		default_edca_params[IEEE80211_AC_BK].queue_id = HIF_QUEUE_ID_BESTEFFORT;
@@ -1502,12 +1502,12 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 
 	hif_set_macaddr(wvif, vif->addr);
 	for (i = 0; i < IEEE80211_NUM_ACS; i++) {
-		memcpy(&wvif->edca.params[i], &default_edca_params[i],
+		memcpy(&wvif->edca_params[i], &default_edca_params[i],
 		       sizeof(default_edca_params[i]));
-		hif_set_edca_queue_params(wvif, &wvif->edca.params[i]);
+		hif_set_edca_queue_params(wvif, &wvif->edca_params[i]);
 	}
-	wvif->edca.uapsd_mask = 0;
-	hif_set_uapsd_info(wvif, wvif->edca.uapsd_mask);
+	wvif->uapsd_mask = 0;
+	hif_set_uapsd_info(wvif, wvif->uapsd_mask);
 
 	wfx_tx_policy_init(wvif);
 	wvif = NULL;
diff --git a/drivers/staging/wfx/sta.h b/drivers/staging/wfx/sta.h
index 74755f6fa030..9595e1fc60db 100644
--- a/drivers/staging/wfx/sta.h
+++ b/drivers/staging/wfx/sta.h
@@ -34,12 +34,6 @@ struct wfx_hif_event {
 	struct hif_ind_event evt;
 };
 
-struct wfx_edca_params {
-	/* NOTE: index is a linux queue id. */
-	struct hif_req_edca_queue_params params[IEEE80211_NUM_ACS];
-	unsigned long uapsd_mask;
-};
-
 struct wfx_grp_addr_table {
 	bool enable;
 	int num_addresses;
diff --git a/drivers/staging/wfx/wfx.h b/drivers/staging/wfx/wfx.h
index ff29163436b6..5a2f8af17eb7 100644
--- a/drivers/staging/wfx/wfx.h
+++ b/drivers/staging/wfx/wfx.h
@@ -113,7 +113,8 @@ struct wfx_vif {
 	int			cqm_rssi_thold;
 	bool			setbssparams_done;
 	struct wfx_ht_info	ht_info;
-	struct wfx_edca_params	edca;
+	unsigned long		uapsd_mask;
+	struct hif_req_edca_queue_params edca_params[IEEE80211_NUM_ACS];
 	struct hif_req_set_bss_params bss_params;
 	struct work_struct	bss_params_work;
 	struct work_struct	set_cts_work;
-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ