staging: brcm80211: removed unused encryption/security functionality
authorRoland Vossen <rvossen@broadcom.com>
Mon, 12 Sep 2011 10:14:54 +0000 (12:14 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 12 Sep 2011 14:55:46 +0000 (16:55 +0200)
Softmac relies on Mac80211 for this.

Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmsmac/alloc.c
drivers/staging/brcm80211/brcmsmac/main.c
drivers/staging/brcm80211/brcmsmac/main.h
drivers/staging/brcm80211/brcmsmac/pub.h

index 7a499ba..344c0ad 100644 (file)
@@ -210,20 +210,6 @@ struct brcms_c_info *brcms_c_attach_malloc(uint unit, uint *err, uint devid)
        }
        brcms_c_bsscfg_ID_assign(wlc, wlc->cfg);
 
-       wlc->wsec_def_keys[0] =
-               kzalloc(sizeof(struct wsec_key) * BRCMS_DEFAULT_KEYS,
-                       GFP_ATOMIC);
-       if (wlc->wsec_def_keys[0] == NULL) {
-               *err = 1015;
-               goto fail;
-       } else {
-               int i;
-               for (i = 1; i < BRCMS_DEFAULT_KEYS; i++)
-                       wlc->wsec_def_keys[i] = (struct wsec_key *)
-                           ((unsigned long)wlc->wsec_def_keys[0] +
-                            (sizeof(struct wsec_key) * i));
-       }
-
        wlc->protection = kzalloc(sizeof(struct brcms_protection),
                                  GFP_ATOMIC);
        if (wlc->protection == NULL) {
@@ -280,7 +266,6 @@ void brcms_c_detach_mfree(struct brcms_c_info *wlc)
        brcms_c_pub_mfree(wlc->pub);
        kfree(wlc->modulecb);
        kfree(wlc->default_bss);
-       kfree(wlc->wsec_def_keys[0]);
        kfree(wlc->protection);
        kfree(wlc->stf);
        kfree(wlc->bandstate[0]);
index d755c18..cc669d6 100644 (file)
 #include "ucode_loader.h"
 #include "main.h"
 
-
-/*
- * WPA(2) definitions
- */
-#define RSN_CAP_4_REPLAY_CNTRS         2
-#define RSN_CAP_16_REPLAY_CNTRS                3
-
-#define WPA_CAP_4_REPLAY_CNTRS         RSN_CAP_4_REPLAY_CNTRS
-#define WPA_CAP_16_REPLAY_CNTRS                RSN_CAP_16_REPLAY_CNTRS
-
 /*
  * Indication for txflowcontrol that all priority bits in
  * TXQ_STOP_FOR_PRIOFC_MASK are to be considered.
 /* stop txq enqueue for ampdu flow control */
 #define TXQ_STOP_FOR_AMPDU_FLOW_CNTRL  0x00000200
 
-/* number of 802.11 default (non-paired, group keys) */
-#define WSEC_MAX_DEFAULT_KEYS  4       /* # of default keys */
-
 #define        BRCMS_HWRXOFF           38      /* chip rx buffer offset */
 
 #define OSL_SYSUPTIME()                ((u32)jiffies * (1000 / HZ))
 #define BRCMS_TX_FIFO_ENAB(wlc, fifo) \
                        ((wlc)->tx_prec_map |= (wlc)->fifo2prec_map[fifo])
 
-/*
- * if wpa is in use then portopen is true when the
- * group key is plumbed otherwise it is always true
- */
-#define WSEC_ENABLED(wsec) ((wsec) & (WEP_ENABLED | TKIP_ENABLED | AES_ENABLED))
-
-#define BRCMS_SW_KEYS(wlc, bsscfg) ((((wlc)->wsec_swkeys) || \
-       ((bsscfg)->wsec & WSEC_SWFLAG)))
-
-#define BRCMS_PORTOPEN(cfg) \
-       (((cfg)->WPA_auth != WPA_AUTH_DISABLED && WSEC_ENABLED((cfg)->wsec)) ? \
-       (cfg)->wsec_portopen : true)
+#define BRCMS_PORTOPEN(cfg) true
 
 #define brcms_b_copyfrom_shm(wlc_hw, offset, buf, len)                 \
        brcms_b_copyfrom_objmem(wlc_hw, offset, buf, len, OBJADDR_SHM_SEL)
@@ -4325,8 +4301,6 @@ static void brcms_b_watchdog(void *arg)
 static void brcms_c_watchdog(void *arg)
 {
        struct brcms_c_info *wlc = (struct brcms_c_info *) arg;
-       int i;
-       struct brcms_bss_cfg *cfg;
 
        BCMMSG(wlc->wiphy, "wl%d\n", wlc->pub->unit);
 
@@ -4372,14 +4346,6 @@ static void brcms_c_watchdog(void *arg)
        if ((wlc->pub->now % SW_TIMER_MAC_STAT_UPD) == 0)
                brcms_c_statsupd(wlc);
 
-       /* Manage TKIP countermeasures timers */
-       FOREACH_BSS(wlc, i, cfg)
-               if (cfg->tk_cm_dt)
-                       cfg->tk_cm_dt--;
-               if (cfg->tk_cm_bt)
-                       cfg->tk_cm_bt--;
-       END_FOREACH_BSS()
-
        if (BRCMS_ISNPHY(wlc->band) && !wlc->pub->tempsense_disable &&
            ((wlc->pub->now - wlc->tempsense_lasttime) >=
             BRCMS_TEMPSENSE_PERIOD)) {
@@ -4469,15 +4435,6 @@ void brcms_c_info_init(struct brcms_c_info *wlc, int unit)
        wlc->SRL = RETRY_SHORT_DEF;
        wlc->LRL = RETRY_LONG_DEF;
 
-       /* Set flag to indicate that hw keys should be used when available. */
-       wlc->wsec_swkeys = false;
-
-       /* init the 4 static WEP default keys */
-       for (i = 0; i < WSEC_MAX_DEFAULT_KEYS; i++) {
-               wlc->wsec_keys[i] = wlc->wsec_def_keys[i];
-               wlc->wsec_keys[i]->idx = (u8) i;
-       }
-
        /* WME QoS mode is Auto by default */
        wlc->pub->_wme = AUTO;
        wlc->pub->_ampdu = AMPDU_AGG_HOST;
@@ -7128,7 +7085,7 @@ static u16
 brcms_c_d11hdrs_mac80211(struct brcms_c_info *wlc, struct ieee80211_hw *hw,
                     struct sk_buff *p, struct scb *scb, uint frag,
                     uint nfrags, uint queue, uint next_frag_len,
-                    struct wsec_key *key, u32 rspec_override)
+                    u32 rspec_override)
 {
        struct ieee80211_hdr *h;
        struct d11txh *txh;
@@ -7171,14 +7128,6 @@ brcms_c_d11hdrs_mac80211(struct brcms_c_info *wlc, struct ieee80211_hw *hw,
        len = brcmu_pkttotlen(p);
        phylen = len + FCS_LEN;
 
-       /* If WEP enabled, add room in phylen for the additional bytes of
-        * ICV which MAC generates.  We do NOT add the additional bytes to
-        * the packet itself, thus phylen = packet length + ICV_LEN + FCS_LEN
-        * in this case
-        */
-       if (key)
-               phylen += key->icv_len;
-
        /* Get tx_info */
        tx_info = IEEE80211_SKB_CB(p);
 
@@ -7796,9 +7745,7 @@ void brcms_c_sendpkt_mac80211(struct brcms_c_info *wlc, struct sk_buff *sdu,
        prio = ieee80211_is_data(d11_header->frame_control) ? sdu->priority :
                MAXPRIO;
        fifo = prio2fifo[prio];
-       if (unlikely
-           (brcms_c_d11hdrs_mac80211(
-               wlc, hw, sdu, scb, 0, 1, fifo, 0, NULL, 0)))
+       if (brcms_c_d11hdrs_mac80211(wlc, hw, sdu, scb, 0, 1, fifo, 0, 0))
                return;
        brcms_c_txq_enq(wlc, scb, sdu, BRCMS_PRIO_TO_PREC(prio));
        brcms_c_send_q(wlc);
index a0dcacc..674750b 100644 (file)
@@ -237,44 +237,6 @@ struct brcms_stf {
 #define BRCMS_CHAN_CHANNEL(x)     (((x) & RXS_CHAN_ID_MASK) \
                                   >> RXS_CHAN_ID_SHIFT)
 
-/* Maximum # of keys that wl driver supports in S/W.
- * Keys supported in H/W is less than or equal to WSEC_MAX_KEYS.
- */
-#define WSEC_MAX_KEYS          54 /* Max # of keys (50 + 4 default keys) */
-#define BRCMS_DEFAULT_KEYS     4 /* Default # of keys */
-
-/*
-* Max # of keys currently supported:
-*
-*     s/w keys if WSEC_SW(wlc->wsec).
-*     h/w keys otherwise.
-*/
-
-struct wsec_iv {
-       u32 hi;         /* upper 32 bits of IV */
-       u16 lo;         /* lower 16 bits of IV */
-};
-
-#define BRCMS_NUMRXIVS 16      /* # rx IVs (one per 802.11e TID) */
-
-struct wsec_key {
-       u8 ea[ETH_ALEN];        /* per station */
-       u8 idx;         /* key index in wsec_keys array */
-       u8 id;          /* key ID [0-3] */
-       u8 algo;        /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */
-       u8 rcmta;       /* rcmta entry index, same as idx by default */
-       u16 flags;      /* misc flags */
-       u8 algo_hw;     /* cache for hw register */
-       u8 aes_mode;    /* cache for hw register */
-       s8 iv_len;      /* IV length */
-       s8 icv_len;     /* ICV length */
-       u32 len;        /* key length..don't move this var */
-       /* data is 4byte aligned */
-       u8 data[WLAN_MAX_KEY_LEN];      /* key data */
-       struct wsec_iv rxiv[BRCMS_NUMRXIVS];    /* Rx IV (one per TID) */
-       struct wsec_iv txiv;            /* Tx IV */
-};
-
 /*
  * core state (mac)
  */
@@ -575,10 +537,6 @@ struct brcms_txq_info {
  * bsscfg: set of BSS configurations, idx 0 is default and always valid.
  * cfg: the primary bsscfg (can be AP or STA).
  * tx_queues: common TX Queue list.
- * wsec_keys[WSEC_MAX_KEYS]: dynamic key storage.
- * wsec_def_keys[BRCMS_DEFAULT_KEYS]: default key storage.
- * wsec_swkeys: indicates that all keys should be treated as
- *             sw keys (used for debugging).
  * modulecb:
  * mimoft: SIGN or 11N.
  * cck_40txbw: 11N, cck tx b/w override when in 40MHZ mode.
@@ -718,10 +676,6 @@ struct brcms_c_info {
        /* tx queue */
        struct brcms_txq_info *tx_queues;
 
-       /* security */
-       struct wsec_key *wsec_keys[WSEC_MAX_KEYS];
-       struct wsec_key *wsec_def_keys[BRCMS_DEFAULT_KEYS];
-       bool wsec_swkeys;
        struct modulecb *modulecb;
 
        u8 mimoft;
@@ -808,28 +762,6 @@ struct antsel_info {
  * nmac: # of entries on maclist array
  * macmode: allow/deny stations on maclist array
  * maclist: list of source MAC addrs to match
-
- * security
- * --------
- * wsec: wireless security bitvec
- * auth: 802.11 authentication: Open, Shared Key, WPA
- * openshared: try Open auth first, then Shared Key
- * wsec_restrict: drop unencrypted packets if wsec is enabled
- * eap_restrict: restrict data until 802.1X auth succeeds
- * WPA_auth: WPA authenticated key management
- * wpa2_preauth: default is true, wpa_cap sets value
- * wsec_portopen: indicates keys are plumbed
- * wpa_none_txiv: global txiv for WPA_NONE, tkip and aes
- * wsec_index: 0-3: default tx key, -1: not set
- * bss_def_keys: default key storage
- *
- * TKIP countermeasures
- * --------------------
- * tkip_countermeasures: flags TKIP no-assoc period
- * tk_cm_dt: detect timer
- * tk_cm_bt: blocking timer
- * tk_cm_bt_tmstmp: Timestamp when TKIP BT is activated
- * tk_cm_activate: activate countermeasures after EAPOL-Key sent
  *
  * BSSID: BSSID (associated)
  * cur_etheraddr: h/w address
@@ -839,12 +771,7 @@ struct antsel_info {
  * bcn: AP beacon
  * bcn_len: AP beacon length
  * ar_disassoc: disassociated in associated recreation
- * auth_atmptd: auth type (open/shared) attempted
  *
- * pmkid_cand: PMKID candidate list
- * npmkid_cand: num PMKID candidates
- * pmkid: PMKID cache
- * npmkid: num cached PMKIDs
  * current_bss: BSS parms in ASSOCIATED state
  *
  * PM states
@@ -854,8 +781,6 @@ struct antsel_info {
  * priorPMstate: Detecting PM state transitions
  * PSpoll: flags there is an outstanding PS-Poll frame
  *
- * rcmta: BSSID entry in RCMTA, use the wsec key to manage the RCMTA entries.
- *
  * ID: 'unique' ID of this bsscfg, assigned at bsscfg allocation
  *
  * txrspecidx: index into tx rate circular buffer
@@ -875,22 +800,6 @@ struct brcms_bss_cfg {
        uint nmac;
        int macmode;
        struct ether_addr *maclist;
-       u32 wsec;
-       s16 auth;
-       s16 openshared;
-       bool wsec_restrict;
-       bool eap_restrict;
-       u16 WPA_auth;
-       bool wpa2_preauth;
-       bool wsec_portopen;
-       struct wsec_iv wpa_none_txiv;
-       int wsec_index;
-       struct wsec_key *bss_def_keys[BRCMS_DEFAULT_KEYS];
-       bool tkip_countermeasures;
-       u32 tk_cm_dt;
-       u32 tk_cm_bt;
-       u32 tk_cm_bt_tmstmp;
-       bool tk_cm_activate;
        u8 BSSID[ETH_ALEN];
        u8 cur_etheraddr[ETH_ALEN];
        u16 bcmc_fid;
@@ -899,17 +808,11 @@ struct brcms_bss_cfg {
        u8 *bcn;
        uint bcn_len;
        bool ar_disassoc;
-       int auth_atmptd;
-       struct pmkid_cand pmkid_cand[MAXPMKID];
-       uint npmkid_cand;
-       struct pmkid pmkid[MAXPMKID];
-       uint npmkid;
        struct brcms_bss_info *current_bss;
        bool PMawakebcn;
        bool PMpending;
        bool priorPMstate;
        bool PSpoll;
-       struct wsec_key *rcmta;
        u16 ID;
        uint txrspecidx;
        u32 txrspec[NTXRATE][2];
index 20582f1..9e767fb 100644 (file)
@@ -128,16 +128,6 @@ struct brcms_c_rateset {
        u8 mcs[MCSSET_LEN];     /* supported mcs index bit map */
 };
 
-struct rsn_parms {
-       u8 flags;               /* misc booleans (e.g., supported) */
-       u8 multicast;   /* multicast cipher */
-       u8 ucount;              /* count of unicast ciphers */
-       u8 unicast[4];  /* unicast ciphers */
-       u8 acount;              /* count of auth modes */
-       u8 auth[4];             /* Authentication modes */
-       u8 PAD[4];              /* padding for future growth */
-};
-
 /* All the HT-specific default advertised capabilities (including AMPDU)
  * should be grouped here at one place
  */
@@ -160,8 +150,6 @@ struct brcms_bss_info {
        s8 phy_noise;           /* noise right after tx (in dBm) */
        u16 capability; /* Capability information */
        u8 wme_qosinfo; /* QoS Info from WME IE; valid if BSS_WME flag set */
-       struct rsn_parms wpa;
-       struct rsn_parms wpa2;
        u16 qbss_load_aac;      /* qbss load available admission capacity */
        /* qbss_load_chan_free <- (0xff - chan utilization of qbss_load_ie_t) */
        u8 qbss_load_chan_free; /* indicates how free the channel is */