]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
staging: rtl8192su: code cleanup
authorFlorian Schilhabel <florian.c.schilhabel@googlemail.com>
Wed, 14 Jul 2010 12:46:22 +0000 (14:46 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 22 Jul 2010 18:58:03 +0000 (11:58 -0700)
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rtl8192su/ieee80211/rtl819x_BA.h
drivers/staging/rtl8192su/ieee80211/rtl819x_BAProc.c
drivers/staging/rtl8192su/ieee80211/rtl819x_HT.h
drivers/staging/rtl8192su/ieee80211/rtl819x_HTProc.c

index 8ddc8bf9dc268332b43bf47b152411fe0ff31b48..1c2a40b75a19e1d1d2cd183b32487d132a435b77 100644 (file)
@@ -1,3 +1,21 @@
+/******************************************************************************
+ * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ * The full GNU General Public License is included in this distribution in the
+ * file called LICENSE.
+ *
+ * Contact Information:
+ * wlanfae <wlanfae@realtek.com>
+******************************************************************************/
 #ifndef _BATYPE_H_
 #define _BATYPE_H_
 
 #define        DELBA_REASON_END_BA                     37
 #define        DELBA_REASON_UNKNOWN_BA 38
 #define        DELBA_REASON_TIMEOUT                    39
-/*  whether need define BA Action frames here?
-struct ieee80211_ADDBA_Req{
-       struct ieee80211_header_data header;
-       u8      category;
-       u8
-} __attribute__ ((packed));
-*/
-//Is this need?I put here just to make it easier to define structure BA_RECORD //WB
+
 typedef union _SEQUENCE_CONTROL{
        u16 ShortData;
        struct
@@ -65,5 +76,4 @@ typedef struct _BA_RECORD {
        SEQUENCE_CONTROL        BaStartSeqCtrl;
 } BA_RECORD, *PBA_RECORD;
 
-#endif //end _BATYPE_H_
-
+#endif
index 8c37dd124fc9fd08aaaa96daa5ccd278e8b6e7da..00539d6c41cfc5bc8152c22224e890e0e3fa817c 100644 (file)
@@ -1,9 +1,21 @@
-/********************************************************************************************************************************
- * This file is created to process BA Action Frame. According to 802.11 spec, there are 3 BA action types at all. And as BA is
- * related to TS, this part need some struture defined in QOS side code. Also TX RX is going to be resturctured, so how to send
- * ADDBAREQ ADDBARSP and DELBA packet is still on consideration. Temporarily use MANAGE QUEUE instead of Normal Queue.
- * WB 2008-05-27
- * *****************************************************************************************************************************/
+/******************************************************************************
+ * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ * The full GNU General Public License is included in this distribution in the
+ * file called LICENSE.
+ *
+ * Contact Information:
+ * wlanfae <wlanfae@realtek.com>
+******************************************************************************/
 #include "ieee80211.h"
 #include "rtl819x_BA.h"
 
@@ -112,7 +124,6 @@ static struct sk_buff* ieee80211_ADDBA(struct ieee80211_device* ieee, u8* Dst, P
        u8* tag = NULL;
        u16 tmp = 0;
        u16 len = ieee->tx_headroom + 9;
-       //category(1) + action field(1) + Dialog Token(1) + BA Parameter Set(2) +  BA Timeout Value(2) +  BA Start SeqCtrl(2)(or StatusCode(2))
        IEEE80211_DEBUG(IEEE80211_DL_TRACE | IEEE80211_DL_BA, "========>%s(), frame(%d) sentd to:%pM, ieee->dev:%p\n", __FUNCTION__, type, Dst, ieee->dev);
        if (pBA == NULL||ieee == NULL)
        {
@@ -138,7 +149,6 @@ static struct sk_buff* ieee80211_ADDBA(struct ieee80211_device* ieee, u8* Dst, P
 
        BAReq->frame_control = cpu_to_le16(IEEE80211_STYPE_MANAGE_ACT); //action frame
 
-       //tag += sizeof( struct ieee80211_hdr_3addr); //move to action field
        tag = (u8*)skb_put(skb, 9);
        *tag ++= ACT_CAT_BA;
        *tag ++= type;
@@ -171,7 +181,6 @@ static struct sk_buff* ieee80211_ADDBA(struct ieee80211_device* ieee, u8* Dst, P
 
        IEEE80211_DEBUG_DATA(IEEE80211_DL_DATA|IEEE80211_DL_BA, skb->data, skb->len);
        return skb;
-       //return NULL;
 }
 
 /********************************************************************************************************************
@@ -196,7 +205,6 @@ static struct sk_buff* ieee80211_DELBA(
         struct ieee80211_hdr_3addr* Delba = NULL;
        u8* tag = NULL;
        u16 tmp = 0;
-       //len = head len + DELBA Parameter Set(2) + Reason Code(2)
        u16 len = 6 + ieee->tx_headroom;
 
        if (net_ratelimit())
@@ -213,7 +221,6 @@ static struct sk_buff* ieee80211_DELBA(
                IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc skb for ADDBA_REQ\n");
                return NULL;
        }
-//     memset(skb->data, 0, len+sizeof( struct ieee80211_hdr_3addr));
        skb_reserve(skb, ieee->tx_headroom);
 
        Delba = ( struct ieee80211_hdr_3addr *) skb_put(skb,sizeof( struct ieee80211_hdr_3addr));
@@ -361,8 +368,7 @@ int ieee80211_rx_ADDBAReq( struct ieee80211_device* ieee, struct sk_buff *skb)
 //some other capability is not ready now.
        if(     (ieee->current_network.qos_data.active == 0) ||
                (ieee->pHTInfo->bCurrentHTSupport == false) ||
-               (ieee->pHTInfo->IOTAction & HT_IOT_ACT_REJECT_ADDBA_REQ)) //||
-       //      (ieee->pStaQos->bEnableRxImmBA == false)        )
+               (ieee->pHTInfo->IOTAction & HT_IOT_ACT_REJECT_ADDBA_REQ))
        {
                rc = ADDBA_STATUS_REFUSED;
                IEEE80211_DEBUG(IEEE80211_DL_ERR, "Failed to reply on ADDBA_REQ as some capability is not ready(%d, %d)\n", ieee->current_network.qos_data.active, ieee->pHTInfo->bCurrentHTSupport);
@@ -394,7 +400,6 @@ int ieee80211_rx_ADDBAReq( struct ieee80211_device* ieee, struct sk_buff *skb)
                goto OnADDBAReq_Fail;
        }
                // Admit the ADDBA Request
-       //
        DeActivateBAEntry(ieee, pBA);
        pBA->DialogToken = *pDialogToken;
        pBA->BaParamSet = *pBaParamSet;
@@ -406,7 +411,7 @@ int ieee80211_rx_ADDBAReq( struct ieee80211_device* ieee, struct sk_buff *skb)
        pBA->BaParamSet.field.BufferSize = 1;
        else
        pBA->BaParamSet.field.BufferSize = 32;
-       ActivateBAEntry(ieee, pBA, 0);//pBA->BaTimeoutValue);
+       ActivateBAEntry(ieee, pBA, 0);
        ieee80211_send_ADDBARsp(ieee, dst, pBA, ADDBA_STATUS_SUCCESS);
 
        // End of procedure.
@@ -635,7 +640,6 @@ int ieee80211_rx_DELBA(struct ieee80211_device* ieee,struct sk_buff *skb)
                pTxTs->bAddBaReqInProgress = false;
                pTxTs->bAddBaReqDelayed = false;
                del_timer_sync(&pTxTs->TsAddBaTimer);
-               //PlatformCancelTimer(Adapter, &pTxTs->TsAddBaTimer);
                TxTsDeleteBA(ieee, pTxTs);
        }
        return 0;
index 9e99aeb8a91fb153cf7aa809e4557e7c8507051b..17121891433257b793a95bd8ada33d714d2bdbe3 100644 (file)
@@ -1,3 +1,21 @@
+/******************************************************************************
+ * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ * The full GNU General Public License is included in this distribution in the
+ * file called LICENSE.
+ *
+ * Contact Information:
+ * wlanfae <wlanfae@realtek.com>
+******************************************************************************/
 #ifndef _RTL819XU_HTTYPE_H_
 #define _RTL819XU_HTTYPE_H_
 
@@ -381,8 +399,7 @@ typedef struct _BSS_HT{
        u16                                     bdHTInfoLen;
 
        HT_SPEC_VER                             bdHTSpecVer;
-       //HT_CAPABILITY_ELE                     bdHTCapEle;
-       //HT_INFORMATION_ELE            bdHTInfoEle;
+       HT_CHANNEL_WIDTH                        bdBandWidth;
 
        u8                                      bdRT2RTAggregation;
        u8                                      bdRT2RTLongSlotTime;
@@ -406,7 +423,7 @@ typedef struct _MIMO_EVM{
 
 typedef struct _FALSE_ALARM_STATISTICS{
        u32     Cnt_Parity_Fail;
-       u32    Cnt_Rate_Illegal;
+       u32     Cnt_Rate_Illegal;
        u32     Cnt_Crc8_fail;
        u32     Cnt_all;
 }FALSE_ALARM_STATISTICS, *PFALSE_ALARM_STATISTICS;
@@ -496,9 +513,9 @@ typedef enum _HT_IOT_ACTION{
 }HT_IOT_ACTION_E, *PHT_IOT_ACTION_E;
 
 typedef enum _HT_IOT_RAFUNC{
+       HT_IOT_RAFUNC_DISABLE_ALL = 0x00,
        HT_IOT_RAFUNC_PEER_1R = 0x01,
        HT_IOT_RAFUNC_TX_AMSDU = 0x02,
-       HT_IOT_RAFUNC_DISABLE_ALL = 0x80,
 }HT_IOT_RAFUNC, *PHT_IOT_RAFUNC;
 
 typedef enum _RT_HT_CAP{
@@ -510,5 +527,4 @@ typedef enum _RT_HT_CAP{
        RT_HT_CAP_USE_92SE = 0x20,
 }RT_HT_CAPBILITY, *PRT_HT_CAPBILITY;
 
-#endif //_RTL819XU_HTTYPE_H_
-
+#endif
index 01114c5181bba6376bf8e81cea1a03e36c327a13..84858db18d05d9409ff1e93cb9bab8de7b1234ee 100644 (file)
@@ -1,5 +1,22 @@
 
-//As this function is mainly ported from Windows driver, so leave the name little changed. If any confusion caused, tell me. Created by WB. 2008.05.08
+/******************************************************************************
+ * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ * The full GNU General Public License is included in this distribution in the
+ * file called LICENSE.
+ *
+ * Contact Information:
+ * wlanfae <wlanfae@realtek.com>
+******************************************************************************/
 #include "ieee80211.h"
 #include "rtl819x_HT.h"
 u8 MCS_FILTER_ALL[16] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
@@ -32,8 +49,7 @@ u16 MCS_DATA_RATE[2][2][77] =
 static u8 UNKNOWN_BORADCOM[3] = {0x00, 0x14, 0xbf};
 static u8 LINKSYSWRT330_LINKSYSWRT300_BROADCOM[3] = {0x00, 0x1a, 0x70};
 static u8 LINKSYSWRT350_LINKSYSWRT150_BROADCOM[3] = {0x00, 0x1d, 0x7e};
-static u8 NETGEAR834Bv2_BROADCOM[3] = {0x00, 0x1b, 0x2f};
-static u8 BELKINF5D8233V1_RALINK[3] = {0x00, 0x17, 0x3f};      //cosa 03202008
+static u8 BELKINF5D8233V1_RALINK[3] = {0x00, 0x17, 0x3f};      
 static u8 BELKINF5D82334V3_RALINK[3] = {0x00, 0x1c, 0xdf};
 static u8 PCI_RALINK[3] = {0x00, 0x90, 0xcc};
 static u8 EDIMAX_RALINK[3] = {0x00, 0x0e, 0x2e};
@@ -41,10 +57,9 @@ static u8 AIRLINK_RALINK[3] = {0x00, 0x18, 0x02};
 static u8 DLINK_ATHEROS_1[3] = {0x00, 0x1c, 0xf0};
 static u8 DLINK_ATHEROS_2[3] = {0x00, 0x21, 0x91};
 static u8 CISCO_BROADCOM[3] = {0x00, 0x17, 0x94};
+static u8 NETGEAR_BROADCOM[3] = {0x00, 0x1f, 0x33};
 static u8 LINKSYS_MARVELL_4400N[3] = {0x00, 0x14, 0xa4};
-// 2008/04/01 MH For Cisco G mode RX TP We need to change FW duration. Should we put the
-// code in other place??
-//static u8 WIFI_CISCO_G_AP[3] = {0x00, 0x40, 0x96};
+
 /********************************************************************************************************************
  *function:  This function update default settings in pHTInfo structure
  *   input:  PRT_HIGH_THROUGHPUT       pHTInfo
@@ -351,7 +366,6 @@ bool IsHTHalfNmodeAPs(struct ieee80211_device* ieee)
        else if((memcmp(net->bssid, UNKNOWN_BORADCOM, 3)==0) ||
                    (memcmp(net->bssid, LINKSYSWRT330_LINKSYSWRT300_BROADCOM, 3)==0)||
                    (memcmp(net->bssid, LINKSYSWRT350_LINKSYSWRT150_BROADCOM, 3)==0)||
-                   (memcmp(net->bssid, NETGEAR834Bv2_BROADCOM, 3)==0) ||
                    (net->broadcom_cap_exist))
                  retValue = true;
        else if(net->bssht.bdRT2RTAggregation)
@@ -384,8 +398,7 @@ void HTIOTPeerDetermine(struct ieee80211_device* ieee)
                pHTInfo->IOTPeer = HT_IOT_PEER_BROADCOM;
        else if((memcmp(net->bssid, UNKNOWN_BORADCOM, 3)==0) ||
                        (memcmp(net->bssid, LINKSYSWRT330_LINKSYSWRT300_BROADCOM, 3)==0)||
-                       (memcmp(net->bssid, LINKSYSWRT350_LINKSYSWRT150_BROADCOM, 3)==0)||
-                       (memcmp(net->bssid, NETGEAR834Bv2_BROADCOM, 3)==0) )
+                       (memcmp(net->bssid, LINKSYSWRT350_LINKSYSWRT150_BROADCOM, 3)==0))
                pHTInfo->IOTPeer = HT_IOT_PEER_BROADCOM;
        else if((memcmp(net->bssid, BELKINF5D8233V1_RALINK, 3)==0) ||
                        (memcmp(net->bssid, BELKINF5D82334V3_RALINK, 3)==0) ||
@@ -398,7 +411,7 @@ void HTIOTPeerDetermine(struct ieee80211_device* ieee)
                (memcmp(net->bssid, DLINK_ATHEROS_1, 3) == 0)||
                (memcmp(net->bssid, DLINK_ATHEROS_2, 3) == 0))
                pHTInfo->IOTPeer = HT_IOT_PEER_ATHEROS;
-       else if(memcmp(net->bssid, CISCO_BROADCOM, 3)==0)
+       else if ((memcmp(net->bssid, CISCO_BROADCOM, 3)==0)||net->cisco_cap_exist)
                pHTInfo->IOTPeer = HT_IOT_PEER_CISCO;
        else if ((memcmp(net->bssid, LINKSYS_MARVELL_4400N, 3) == 0) ||
                  net->marvell_cap_exist)
@@ -751,10 +764,11 @@ bool HTIOCActAllowPeerAggOnePacket(struct ieee80211_device* ieee,struct ieee8021
 {
        bool    retValue = false;
        PRT_HIGH_THROUGHPUT     pHTInfo = ieee->pHTInfo;
+       if(pHTInfo->IOTPeer == HT_IOT_PEER_BROADCOM)
        {
-               if(pHTInfo->IOTPeer == HT_IOT_PEER_MARVELL)
+               if((memcmp(network->bssid, NETGEAR_BROADCOM, 3)==0)
+                       && (network->bssht.bdBandWidth == HT_CHANNEL_WIDTH_20_40))
                        return true;
-
        }
        return retValue;
 }