Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1628890
| Path | csiph.com!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Tuomo Rinne <tuomo.rinne@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH] staging: rtl8192u: Improve readability and fix sparse warnings: cast from restricted __le16 |
| Date | Sun, 23 Apr 2017 01:00:01 +0200 |
| Message-ID | <tzcat-ib-1@gated-at.bofh.it> (permalink) |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=GOB45cpHaO82zrzhrn8WS4yFYZDZ2wXQ1O26sUVyiEc=; b=QeNmlhm2RogahJobHeA/wVfZ94Edq+Ex+/owUKmxdKoWR4puSUKYjmG+LMK6d11lP7 SteA4W5mGh4mV/OFD6PFQD9AJpmv4mD8KrrdVhnoC6j1mBphs7O/bRTkoBcW0Abqgvpe dx2ShbCxIiIzlTeUUvWpy3trV99uCsa3RpgXflAyp/soI10OE3yJaQA3iY34rYXcy6cm Ox+6RgfLV1OfGPx8E8oAiw2VqgIn31dLoYxqtdORS2N4u08zOttZl7RrujJmxz1nTf9T J5K3rwTMr9SD6CsUO7QK85m6jGcoPCGdpDoSHmR/AmosWJ85bgQBJvUAYBYD0ZJJjCsv CELg== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GOB45cpHaO82zrzhrn8WS4yFYZDZ2wXQ1O26sUVyiEc=; b=fIvja5RROZyxtDRM2EHYclp5/resBvDiyqvsIXMvAVYUW7T5U/1sp3M2Q5Q4dUmIot tvdjq1Rov15+bsdt0bIAIccz8BL1xz2tcKgzqDDfx9gsK2epoNjXGsFYk4mHXdkKRfQ1 6+PO0Zo/Att85uWUOYBfwfJhewHj6Zk8vhCUWOSmCj2biJPGGX40ZA7crI8DaFknGiZo EkIbH3VKOPzAbLwBG+G5UVLlMuQzlknuUzILVZvY0c/An9GNIbc6Q/n178KtjbLVOIf8 XBKUmPgZcG5pIN/Y6Zv2rKctdmStSRm36uOO47S2Wc44uini/bKMSJpwpltv4TLw3195 Lg4g== |
| X-Gm-Message-State | AN3rC/4+l+uXf5a6UKLjq4YU6o8ftrIVsYUN3XzEzXNbMpSR+4NKuubx 6GrQhh/yjAcKwzoPazU= |
| X-Received | by 10.107.6.134 with SMTP id f6mr3333878ioi.96.1492901727452; Sat, 22 Apr 2017 15:55:27 -0700 (PDT) |
| X-Mailer | git-send-email 2.1.4 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 119 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org |
| X-Original-Date | Sat, 22 Apr 2017 23:55:23 +0100 |
| X-Original-Message-ID | <1492901723-4442-1-git-send-email-tuomo.rinne@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1628890 |
Show key headers only | View raw
This patch fixes following sparse warnings:
drivers/staging/rtl8192u//r8192U_dm.c:2307:49: warning: cast from restricted __le16
drivers/staging/rtl8192u//r8192U_dm.c:2308:44: warning: cast from restricted __le16
drivers/staging/rtl8192u//r8192U_dm.c:2309:44: warning: cast from restricted __le16
In order to avoid the warnings the u4bAcParam variable is constructed
using the cpu's endianness and in case of big endian architectures the
variable is converted back to little endian before passed to write_nic_dword
function.
Also the patch improves readability by getting rid of unnecessary scope
and splitting complex variable construction to multiple lines.
Signed-off-by: Tuomo Rinne <tuomo.rinne@gmail.com>
---
drivers/staging/rtl8192u/r8192U_dm.c | 77 ++++++++++++++++++++----------------
1 file changed, 42 insertions(+), 35 deletions(-)
diff --git a/drivers/staging/rtl8192u/r8192U_dm.c b/drivers/staging/rtl8192u/r8192U_dm.c
index 9209aad..c63974a 100644
--- a/drivers/staging/rtl8192u/r8192U_dm.c
+++ b/drivers/staging/rtl8192u/r8192U_dm.c
@@ -2189,7 +2189,7 @@ static void dm_cs_ratio(
struct net_device *dev)
{
struct r8192_priv *priv = ieee80211_priv(dev);
- static u8 initialized, force_write;
+ static u8 initialized, force_write;
static u32 reset_cnt;
if (dm_digtable.dig_algorithm_switch) {
@@ -2295,43 +2295,50 @@ static void dm_check_edca_turbo(
* Restore original EDCA according to the declaration of AP.
*/
if (priv->bcurrent_turbo_EDCA) {
+ u8 u1bAIFS;
+ u32 u4bAcParam, op_limit, cw_max, cw_min;
+
+ struct ieee80211_qos_parameters *qos_parameters = &priv->ieee80211->current_network.qos_data.parameters;
+ u8 mode = priv->ieee80211->mode;
+
+ /* For Each time updating EDCA parameter, reset EDCA turbo mode status. */
+ dm_init_edca_turbo(dev);
+ u1bAIFS = qos_parameters->aifs[0] * ((mode & (IEEE_G | IEEE_N_24G)) ? 9 : 20) + aSifsTime;
+
+ op_limit = (u32)le16_to_cpu(qos_parameters->tx_op_limit[0]);
+ cw_max = (u32)le16_to_cpu(qos_parameters->cw_max[0]);
+ cw_min = (u32)le16_to_cpu(qos_parameters->cw_min[0]);
+
+ op_limit <<= AC_PARAM_TXOP_LIMIT_OFFSET;
+ cw_max <<= AC_PARAM_ECW_MAX_OFFSET;
+ cw_min <<= AC_PARAM_ECW_MIN_OFFSET;
+ u1bAIFS <<= AC_PARAM_AIFS_OFFSET;
+
+ u4bAcParam = op_limit | cw_max | cw_min | u1bAIFS;
+
+ cpu_to_le32s(u4bAcParam);
+ write_nic_dword(dev, EDCAPARA_BE, u4bAcParam);
+
+ /*
+ * Check ACM bit.
+ * If it is set, immediately set ACM control bit to downgrading AC for passing WMM testplan. Annie, 2005-12-13.
+ */
{
- u8 u1bAIFS;
- u32 u4bAcParam;
- struct ieee80211_qos_parameters *qos_parameters = &priv->ieee80211->current_network.qos_data.parameters;
- u8 mode = priv->ieee80211->mode;
-
- /* For Each time updating EDCA parameter, reset EDCA turbo mode status. */
- dm_init_edca_turbo(dev);
- u1bAIFS = qos_parameters->aifs[0] * ((mode&(IEEE_G|IEEE_N_24G)) ? 9 : 20) + aSifsTime;
- u4bAcParam = (((u32)(qos_parameters->tx_op_limit[0])) << AC_PARAM_TXOP_LIMIT_OFFSET)|
- (((u32)(qos_parameters->cw_max[0])) << AC_PARAM_ECW_MAX_OFFSET)|
- (((u32)(qos_parameters->cw_min[0])) << AC_PARAM_ECW_MIN_OFFSET)|
- ((u32)u1bAIFS << AC_PARAM_AIFS_OFFSET);
- /*write_nic_dword(dev, WDCAPARA_ADD[i], u4bAcParam);*/
- write_nic_dword(dev, EDCAPARA_BE, u4bAcParam);
-
- /*
- * Check ACM bit.
- * If it is set, immediately set ACM control bit to downgrading AC for passing WMM testplan. Annie, 2005-12-13.
- */
- {
- /* TODO: Modified this part and try to set acm control in only 1 IO processing!! */
-
- PACI_AIFSN pAciAifsn = (PACI_AIFSN)&(qos_parameters->aifs[0]);
- u8 AcmCtrl;
-
- read_nic_byte(dev, AcmHwCtrl, &AcmCtrl);
-
- if (pAciAifsn->f.ACM) { /* ACM bit is 1. */
- AcmCtrl |= AcmHw_BeqEn;
- } else { /* ACM bit is 0. */
- AcmCtrl &= (~AcmHw_BeqEn);
- }
+ /* TODO: Modified this part and try to set acm control in only 1 IO processing!! */
- RT_TRACE(COMP_QOS, "SetHwReg8190pci(): [HW_VAR_ACM_CTRL] Write 0x%X\n", AcmCtrl);
- write_nic_byte(dev, AcmHwCtrl, AcmCtrl);
+ PACI_AIFSN pAciAifsn = (PACI_AIFSN)&(qos_parameters->aifs[0]);
+ u8 AcmCtrl;
+
+ read_nic_byte(dev, AcmHwCtrl, &AcmCtrl);
+
+ if (pAciAifsn->f.ACM) { /* ACM bit is 1. */
+ AcmCtrl |= AcmHw_BeqEn;
+ } else { /* ACM bit is 0. */
+ AcmCtrl &= (~AcmHw_BeqEn);
}
+
+ RT_TRACE(COMP_QOS, "SetHwReg8190pci(): [HW_VAR_ACM_CTRL] Write 0x%X\n", AcmCtrl);
+ write_nic_byte(dev, AcmHwCtrl, AcmCtrl);
}
priv->bcurrent_turbo_EDCA = false;
}
--
2.1.4
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH] staging: rtl8192u: Improve readability and fix sparse warnings: cast from restricted __le16 Tuomo Rinne <tuomo.rinne@gmail.com> - 2017-04-23 01:00 +0200
csiph-web