Received: by 10.223.176.5 with SMTP id f5csp822957wra; Tue, 6 Feb 2018 07:59:12 -0800 (PST) X-Google-Smtp-Source: AH8x224xpX2vPjJCUijdCBBdeVpKeRDBwYhbsu+X4F07XFb+WG5H5fi51Up2uGPDSOCOls0o18+k X-Received: by 2002:a17:902:7e43:: with SMTP id a3-v6mr2915567pln.138.1517932752430; Tue, 06 Feb 2018 07:59:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517932752; cv=none; d=google.com; s=arc-20160816; b=dKLf57DqccsYcwB+jIxbeUQUMeqWH/d/yBy/Vf2Aa0mhYfVZcJd800CRN6G0lf9Fed pbmMP8OX3Tputtn3pJgJx1rfm4Dwx0imAqpSWaV6d/aiQaUvYZOSN4xaTmu030OsM/SY 24h0A7E5FmjhWxtDJ1otr9y1noUDklWrdiyXu+sR+XAZe0D44RMu/hG08WwPr00yt5cW 6kwL4iF5XzZ1OOp/Yya23fH/XSNifbwdC/BYPAPJc56crOHULlIA6SG9lPsaH+CX42fG 0tnTW62ovWDOgrwr+weyGu+DmJlIur7vhFZcQoB7FoTDAjZBVg0lLVLARJeV9aZNZ/ef VypQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=5s7VjGhnHlTf9KJIJGGT7/4J0bhYKGasThZ7Gf+9vL8=; b=bzhQpo3HFWU0yO2i0s4xonRacF2Qf654cB8W9xrSKtvJSwjoQYuSRvl15vdUO4RH3N n0pcXpWWXRaZbSB8TIsgHW1mGFJ5xaL7GZXqxYXrKCiHCrsuQHWilnrcoO2auov8a1s4 j3uucMn/Y7eMEEpsYlwLB8aEEhNLpG01/oH4I2/PwdcK2rCepZ/Db1ySj7kWXsn1l2jz StNraLk2yMVSfD+2GyD69sbsK6kBc1P/fw4KznPaz/bIGQ5FFke7OGNvP6ixOpRLN8N6 wihACmpaYFj9WmqGs/2rUJuFvu5LZIK1MnaTFox/+6DoA+dlCepzJcsnzcXM0itb7Xhk /NMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=iMm9qlnE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v6si1506546pgc.509.2018.02.06.07.58.58; Tue, 06 Feb 2018 07:59:12 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=iMm9qlnE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752477AbeBFP6I (ORCPT + 99 others); Tue, 6 Feb 2018 10:58:08 -0500 Received: from mail-pl0-f68.google.com ([209.85.160.68]:41904 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752135AbeBFP6D (ORCPT ); Tue, 6 Feb 2018 10:58:03 -0500 Received: by mail-pl0-f68.google.com with SMTP id k8so1495491pli.8 for ; Tue, 06 Feb 2018 07:58:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=5s7VjGhnHlTf9KJIJGGT7/4J0bhYKGasThZ7Gf+9vL8=; b=iMm9qlnEVnwEWTnbLlmZaFAe2JPhq85BZv1PKFrvh3KRJhvW/HAejZrKQogI1Q6zK2 GAGDFEIYjmRTLvPXkDas10UARgW6pWkrGqHMxwycU/IJ6ICfb+0u17jNiYy4u3YVjQEu 5SKdOAj48ml4HgtzX+3aHiQ3SEDhDLYvnP2E4VAIx922hBdqbEaF/GFYJ49lW+/E+OAR qFc5Op1UtL6561WkDabw98svuXgFqOw8OWa6fih9/wK7jsmP1qR6qKbc23smaAFwtBWb UV1X94DEkRJ+SQOhWRmG/NH/IMZ7VOYg0LOo3FKTWsoNQEnrRqeCS7mDbQ2I5Lqu6lZF BEWg== 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=5s7VjGhnHlTf9KJIJGGT7/4J0bhYKGasThZ7Gf+9vL8=; b=eZT5wAAEvjPDYxhF6jciAOtqEXh2g5OQBgw0phfWOjFd380cY7N0XTQFSNJBfGYNit sIZmApqKahlWEElCXacAVYl0ssqrZGwSki1Cd/MjmA8rPwSPSvMR+Dn4K13J5dPzeJHy +5RVoyrY2oma8buoM96chaNzUzya7PkgznhCeZkqjngBNgfIEA2Q6P2v7/tzULXW6WFJ ETAjOMUpubiy+fN7mnUdnJ3dF3cAjKTpAdF14NyCs7wCALDSBTAFP2mQRFKOGDP9BrMT y02/ine1Tnztp2Q9MnSqsoh7dB5qYnVztZ9Lq+wi1O01YgKTDBWLOllIieD12PzI+ZVq vTBA== X-Gm-Message-State: APf1xPBQbAGqEJjEF3uERMoT0cd/UP4IEw9x+fgoGbaEMUKpyKm4Ynl+ q+ZOLhRhBqqCatYVHzmyd1267yFR X-Received: by 2002:a17:902:1703:: with SMTP id i3-v6mr2825875pli.145.1517932682618; Tue, 06 Feb 2018 07:58:02 -0800 (PST) Received: from localhost.localdomain ([1.240.193.50]) by smtp.googlemail.com with ESMTPSA id q16sm4575198pfg.43.2018.02.06.07.57.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 07:58:01 -0800 (PST) From: Kangmin Park To: gregkh@linuxfoundation.org Cc: hdegoede@redhat.com, hadess@hadess.net, justin@jvreeland.com, Larry.Finger@lwfinger.net, davem@davemloft.net, aishpant@gmail.com, joe@perches.com, arnd@arndb.de, ianwmorrison@gmail.com, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, pr0gr4m Subject: [PATCH] Resolve RF Type mismatch Date: Wed, 7 Feb 2018 00:57:13 +0900 Message-Id: <1517932633-7832-1-git-send-email-l4stpr0gr4m@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: pr0gr4m --- drivers/staging/rtl8723bs/hal/odm.h | 17 +++++++++-------- drivers/staging/rtl8723bs/hal/rtl8723b_dm.c | 16 ++++++++++++++-- drivers/staging/rtl8723bs/include/rtw_rf.h | 15 ++++++++++----- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 12 ++++++++++-- 4 files changed, 43 insertions(+), 17 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index 87a76ba..dbb78fe 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -511,14 +511,15 @@ typedef enum tag_ODM_RF_Path_Bit_Definition { typedef enum tag_ODM_RF_Type_Definition { - ODM_1T1R = 0, - ODM_1T2R = 1, - ODM_2T2R = 2, - ODM_2T3R = 3, - ODM_2T4R = 4, - ODM_3T3R = 5, - ODM_3T4R = 6, - ODM_4T4R = 7, + ODM_1T1R = 0, + ODM_1T2R = 1, + ODM_2T2R = 2, + ODM_2T2R_GREEN = 3, + ODM_2T3R = 4, + ODM_2T4R = 5, + ODM_3T3R = 6, + ODM_3T4R = 7, + ODM_4T4R = 8, } ODM_RF_TYPE_E; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c index b162559..20dcdcd 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c @@ -64,10 +64,22 @@ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter) if (pHalData->rf_type == RF_1T1R) { ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_1T1R); - } else if (pHalData->rf_type == RF_2T2R) { - ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R); } else if (pHalData->rf_type == RF_1T2R) { ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_1T2R); + } else if (pHalData->rf_type == RF_2T2R) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R); + } else if (pHalData->rf_type == RF_2T2R_GREEN) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R_GREEN); + } else if (pHalData->rf_type == RF_2T3R) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T3R); + } else if (pHalData->rf_type == RF_2T4R) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T4R); + } else if (pHalData->rf_type == RF_3T3R) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_3T3R); + } else if (pHalData->rf_type == RF_3T4R) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_3T4R); + } else if (pHalData->rf_type == RF_4T4R) { + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_4T4R); } pdmpriv->InitODMFlag = ODM_RF_CALIBRATION|ODM_RF_TX_PWR_TRACK; diff --git a/drivers/staging/rtl8723bs/include/rtw_rf.h b/drivers/staging/rtl8723bs/include/rtw_rf.h index f9becab..7ef113d1 100644 --- a/drivers/staging/rtl8723bs/include/rtw_rf.h +++ b/drivers/staging/rtl8723bs/include/rtw_rf.h @@ -146,12 +146,17 @@ enum PROTECTION_MODE { /* 2007/11/15 MH Define different RF type. */ enum RT_RF_TYPE_DEFINITION { - RF_1T2R = 0, - RF_2T4R = 1, + RF_1T1R = 0, + RF_1T2R = 1, RF_2T2R = 2, - RF_1T1R = 3, - RF_2T2R_GREEN = 4, - RF_MAX_TYPE = 5, + RF_2T2R_GREEN = 3, + RF_2T3R = 4, + RF_2T4R = 5, + RF_3T3R = 6, + RF_3T4R = 7, + RF_4T4R = 8, + + RF_MAX_TYPE = 0xF }; u32 rtw_ch2freq(u32 ch); diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 51d48de..520d2f6 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -3299,7 +3299,7 @@ static int cfg80211_rtw_sched_scan_stop(struct wiphy *wiphy, static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum nl80211_band band, u8 rf_type) { - +#define MAX_BIT_RATE_40MHZ_MCS23 450 /* Mbps */ #define MAX_BIT_RATE_40MHZ_MCS15 300 /* Mbps */ #define MAX_BIT_RATE_40MHZ_MCS7 150 /* Mbps */ @@ -3338,7 +3338,7 @@ static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum ht_cap->mcs.rx_highest = cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS7); } - else if ((rf_type == RF_1T2R) || (rf_type ==RF_2T2R)) + else if ((rf_type == RF_1T2R) || (rf_type == RF_2T2R) || (rf_type == RF_2T2R_GREEN)) { ht_cap->mcs.rx_mask[0] = 0xFF; ht_cap->mcs.rx_mask[1] = 0xFF; @@ -3346,6 +3346,14 @@ static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum ht_cap->mcs.rx_highest = cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS15); } + else if ((rf_type == RF_2T3R) || (rf_type == RF_3T3R)) + { + ht_cap->mcs.rx_mask[0] = 0xFF; + ht_cap->mcs.rx_mask[1] = 0xFF; + ht_cap->mcs.rx_mask[2] = 0xFF; + + ht_cap->mcs.rx_highest = cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS23); + } else { DBG_8192C("%s, error rf_type =%d\n", __func__, rf_type); -- 2.7.4