Staging: wlan-ng: Improved case statements in p80211req_mibset_mibget()
authorClaudiu Beznea <claudiu.beznea@gmail.com>
Tue, 23 Aug 2016 18:26:42 +0000 (21:26 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Sep 2016 15:51:20 +0000 (17:51 +0200)
This patch improves code from p80211req_mibset_mibget() function by
taking into account that every
DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKeyX with
X in {0, 1, 2, 3} is a bit mask where the (P80211DID_MASK_ITEM <<
P80211DID_LSB_ITEM) mask aka 0x0x0003f000 mask keeps bits representing
the DID item number. To get this item number use P80211DID_ITEM().

Signed-off-by: Claudiu Beznea <claudiu.beznea@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/p80211req.c

index 4b84b56..3849637 100644 (file)
@@ -185,26 +185,16 @@ static void p80211req_mibset_mibget(wlandevice_t *wlandev,
        u8 *key = mibitem->data + sizeof(p80211pstrd_t);
 
        switch (mibitem->did) {
-       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey0:{
+       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey0:
+       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey1:
+       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey2:
+       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey3:
                if (!isget)
-                       wep_change_key(wlandev, 0, key, pstr->len);
-       break;
-       }
-       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey1:{
-               if (!isget)
-                       wep_change_key(wlandev, 1, key, pstr->len);
-       break;
-       }
-       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey2:{
-               if (!isget)
-                       wep_change_key(wlandev, 2, key, pstr->len);
-       break;
-       }
-       case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey3:{
-               if (!isget)
-                       wep_change_key(wlandev, 3, key, pstr->len);
-       break;
-       }
+                       wep_change_key(wlandev,
+                                      P80211DID_ITEM(mibitem->did) - 1,
+                                      key, pstr->len);
+               break;
+
        case DIDmib_dot11smt_dot11PrivacyTable_dot11WEPDefaultKeyID:{
                u32 *data = (u32 *) mibitem->data;