From: Florian Schilhabel <[email protected]>

refactored EnableHWSecurityConfig8192 and setKey a bit by replacing
if...else if... else with switch...case

plus cosmetics

Signed-off-by: Florian Schilhabel <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/rtl8192su/r8192U_core.c |  119 ++++++++++++++++++-------------
 1 files changed, 68 insertions(+), 51 deletions(-)

diff --git a/drivers/staging/rtl8192su/r8192U_core.c 
b/drivers/staging/rtl8192su/r8192U_core.c
index 7fe1ced..ca3524c 100644
--- a/drivers/staging/rtl8192su/r8192U_core.c
+++ b/drivers/staging/rtl8192su/r8192U_core.c
@@ -7612,96 +7612,113 @@ void rtl8192_try_wake_queue(struct net_device *dev, 
int pri)
 
 void EnableHWSecurityConfig8192(struct net_device *dev)
 {
-        u8 SECR_value = 0x0;
+       u8 SECR_value = 0x0;
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-        struct ieee80211_device* ieee = priv->ieee80211;
+       struct ieee80211_device *ieee = priv->ieee80211;
 
        SECR_value = SCR_TxEncEnable | SCR_RxDecEnable;
-#if 1
-       if (((KEY_TYPE_WEP40 == ieee->pairwise_key_type) || (KEY_TYPE_WEP104 == 
ieee->pairwise_key_type)) && (priv->ieee80211->auth_mode != 2))
-       {
-               SECR_value |= SCR_RxUseDK;
-               SECR_value |= SCR_TxUseDK;
-       }
-       else if ((ieee->iw_mode == IW_MODE_ADHOC) && (ieee->pairwise_key_type & 
(KEY_TYPE_CCMP | KEY_TYPE_TKIP)))
-       {
-               SECR_value |= SCR_RxUseDK;
-               SECR_value |= SCR_TxUseDK;
+       switch (ieee->pairwise_key_type) {
+       case KEY_TYPE_WEP40:
+       case KEY_TYPE_WEP104:
+               if (priv->ieee80211->auth_mode != 2) {
+                       SECR_value |= SCR_RxUseDK;
+                       SECR_value |= SCR_TxUseDK;
+               }
+               break;
+       case KEY_TYPE_TKIP:
+       case KEY_TYPE_CCMP:
+               if (ieee->iw_mode == IW_MODE_ADHOC) {
+                       SECR_value |= SCR_RxUseDK;
+                       SECR_value |= SCR_TxUseDK;
+               }
+               break;
+       default:
+               break;
        }
-#endif
-        //add HWSec active enable here.
-//default using hwsec. when peer AP is in N mode only and pairwise_key_type is 
none_aes(which HT_IOT_ACT_PURE_N_MODE indicates it), use software security. 
when peer AP is in b,g,n mode mixed and pairwise_key_type is none_aes, use g 
mode hw security. WB on 2008.7.4
 
+       /*
+        * add HWSec active enable here.
+        * default using hwsec.
+        * when peer AP is in N mode only and pairwise_key_type is none_aes
+        * (which HT_IOT_ACT_PURE_N_MODE indicates it),
+        * use software security.
+        * when peer AP is in b,g,n mode mixed and pairwise_key_type is none_aes
+        * use g mode hw security.
+       */
        ieee->hwsec_active = 1;
 
-       if ((ieee->pHTInfo->IOTAction&HT_IOT_ACT_PURE_N_MODE) || 
!hwwep)//!ieee->hwsec_support) //add hwsec_support flag to totol control hw_sec 
on/off
-       {
+       /* add hwsec_support flag to totol control hw_sec on/off */
+       if ((ieee->pHTInfo->IOTAction&HT_IOT_ACT_PURE_N_MODE) || !hwwep) {
                ieee->hwsec_active = 0;
                SECR_value &= ~SCR_RxDecEnable;
        }
 
-       RT_TRACE(COMP_SEC,"%s:, hwsec:%d, pairwise_key:%d, SECR_value:%x\n", 
__FUNCTION__, \
-                       ieee->hwsec_active, ieee->pairwise_key_type, 
SECR_value);
-       {
-                write_nic_byte(dev, SECR,  SECR_value);//SECR_value |  
SCR_UseDK );
-        }
+       RT_TRACE(COMP_SEC, "%s(): hwsec: %d, pairwise_key: %d, "
+                                       "SECR_value: %x",
+                                       __func__, ieee->hwsec_active,
+                                       ieee->pairwise_key_type, SECR_value);
+
+       write_nic_byte(dev, SECR,  SECR_value); /* SECR_value |  SCR_UseDK ); */
 }
 
 
-void setKey(   struct net_device *dev,
+void setKey(struct net_device *dev,
                u8 EntryNo,
                u8 KeyIndex,
                u16 KeyType,
                u8 *MacAddr,
                u8 DefaultKey,
-               u32 *KeyContent )
+               u32 *KeyContent)
 {
        u32 TargetCommand = 0;
        u32 TargetContent = 0;
        u16 usConfig = 0;
        u8 i;
+
        if (EntryNo >= TOTAL_CAM_ENTRY)
-               RT_TRACE(COMP_ERR, "cam entry exceeds in setKey()\n");
+               RT_TRACE(COMP_ERR, "%s(): cam entry exceeds TOTAL_CAM_ENTRY",
+                                                               __func__);
 
-       RT_TRACE(COMP_SEC, "====>to setKey(), dev:%p, EntryNo:%d, KeyIndex:%d, 
KeyType:%d, MacAddr%pM\n", dev,EntryNo, KeyIndex, KeyType, MacAddr);
+       RT_TRACE(COMP_SEC, "%s(): dev: %p, EntryNo: %d, "
+                               "KeyIndex: %d, KeyType: %d, MacAddr: %pM",
+                               __func__, dev, EntryNo,
+                               KeyIndex, KeyType, MacAddr);
 
        if (DefaultKey)
-               usConfig |= BIT15 | (KeyType<<2);
+               usConfig |= BIT15 | (KeyType << 2);
        else
-               usConfig |= BIT15 | (KeyType<<2) | KeyIndex;
-//     usConfig |= BIT15 | (KeyType<<2) | (DefaultKey<<5) | KeyIndex;
-
+               usConfig |= BIT15 | (KeyType << 2) | KeyIndex;
 
-       for(i=0 ; i<CAM_CONTENT_COUNT; i++){
-               TargetCommand  = i+CAM_CONTENT_COUNT*EntryNo;
+       for (i = 0 ; i < CAM_CONTENT_COUNT; i++) {
+               TargetCommand  = i + CAM_CONTENT_COUNT * EntryNo;
                TargetCommand |= BIT31|BIT16;
-
-               if(i==0){//MAC|Config
-                       TargetContent = (u32)(*(MacAddr+0)) << 16|
-                                       (u32)(*(MacAddr+1)) << 24|
+               switch (i) {
+               case 0: /* MAC|Config */
+                       TargetContent = (u32)(*(MacAddr + 0)) << 16|
+                                       (u32)(*(MacAddr + 1)) << 24|
                                        (u32)usConfig;
 
                        write_nic_dword(dev, WCAMI, TargetContent);
                        write_nic_dword(dev, RWCAM, TargetCommand);
-       //              printk("setkey cam =%8x\n", read_cam(dev, i+6*EntryNo));
-               }
-               else if(i==1){//MAC
-                        TargetContent = (u32)(*(MacAddr+2))     |
-                                        (u32)(*(MacAddr+3)) <<  8|
-                                        (u32)(*(MacAddr+4)) << 16|
-                                        (u32)(*(MacAddr+5)) << 24;
+                       continue;
+               case 1: /* MAC */
+                                       TargetContent = (u32)(*(MacAddr + 2))|
+                                       (u32)(*(MacAddr + 3)) <<  8|
+                                       (u32)(*(MacAddr + 4)) << 16|
+                                       (u32)(*(MacAddr + 5)) << 24;
                        write_nic_dword(dev, WCAMI, TargetContent);
                        write_nic_dword(dev, RWCAM, TargetCommand);
+                       continue;
+               default: /* Key Material */
+                       if (KeyContent != NULL) {
+                               write_nic_dword(dev, WCAMI,
+                                               (u32)(*(KeyContent+i-2)));
+                               write_nic_dword(dev, RWCAM,
+                                               TargetCommand);
+                       }
+                       continue;
                }
-               else {
-                       //Key Material
-                       if(KeyContent !=NULL){
-                       write_nic_dword(dev, WCAMI, (u32)(*(KeyContent+i-2)) );
-                       write_nic_dword(dev, RWCAM, TargetCommand);
-               }
-       }
        }
-
 }
 
 /***************************************************************************
-- 
1.7.0.3

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to