}
 
 static int
-send_key_to_dongle(struct brcmf_cfg80211_info *cfg, s32 bssidx,
-                  struct net_device *ndev, struct brcmf_wsec_key *key)
+send_key_to_dongle(struct net_device *ndev, struct brcmf_wsec_key *key)
 {
        int err;
        struct brcmf_wsec_key_le key_le;
        struct brcmf_wsec_key key;
        s32 val;
        s32 err = 0;
-       s32 bssidx;
 
        WL_CONN("key len (%d)\n", sme->key_len);
 
        WL_CONN("key length (%d) key index (%d) algo (%d)\n",
                key.len, key.index, key.algo);
        WL_CONN("key \"%s\"\n", key.data);
-       bssidx = brcmf_find_bssidx(cfg, ndev);
-       err = send_key_to_dongle(cfg, bssidx, ndev, &key);
+       err = send_key_to_dongle(ndev, &key);
        if (err)
                return err;
 
 brcmf_add_keyext(struct wiphy *wiphy, struct net_device *ndev,
              u8 key_idx, const u8 *mac_addr, struct key_params *params)
 {
-       struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
        struct brcmf_wsec_key key;
        s32 err = 0;
-       s32 bssidx;
 
        memset(&key, 0, sizeof(key));
        key.index = (u32) key_idx;
        if (!is_multicast_ether_addr(mac_addr))
                memcpy((char *)&key.ea, (void *)mac_addr, ETH_ALEN);
        key.len = (u32) params->key_len;
-       bssidx = brcmf_find_bssidx(cfg, ndev);
        /* check for key index change */
        if (key.len == 0) {
                /* key delete */
-               err = send_key_to_dongle(cfg, bssidx, ndev, &key);
+               err = send_key_to_dongle(ndev, &key);
                if (err)
                        WL_ERR("key delete error (%d)\n", err);
        } else {
                        WL_ERR("Invalid cipher (0x%x)\n", params->cipher);
                        return -EINVAL;
                }
-               err = send_key_to_dongle(cfg, bssidx, ndev, &key);
+               err = send_key_to_dongle(ndev, &key);
                if (err)
                        WL_ERR("wsec_key error (%d)\n", err);
        }
        s32 wsec;
        s32 err = 0;
        u8 keybuf[8];
-       s32 bssidx;
 
        WL_TRACE("Enter\n");
        WL_CONN("key index (%d)\n", key_idx);
                goto done;
        }
 
-       bssidx = brcmf_find_bssidx(cfg, ndev);
-       err = send_key_to_dongle(cfg, bssidx, ndev, &key);
+       err = send_key_to_dongle(ndev, &key);
        if (err)
                goto done;
 
 brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,
                    u8 key_idx, bool pairwise, const u8 *mac_addr)
 {
-       struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
        struct brcmf_wsec_key key;
        s32 err = 0;
-       s32 bssidx;
 
        WL_TRACE("Enter\n");
        if (!check_sys_up(wiphy))
        WL_CONN("key index (%d)\n", key_idx);
 
        /* Set the new key/index */
-       bssidx = brcmf_find_bssidx(cfg, ndev);
-       err = send_key_to_dongle(cfg, bssidx, ndev, &key);
+       err = send_key_to_dongle(ndev, &key);
        if (err) {
                if (err == -EINVAL) {
                        if (key.index >= DOT11_MAX_DEFAULT_KEYS)
        struct brcmf_cfg80211_security *sec;
        s32 wsec;
        s32 err = 0;
-       s32 bssidx;
 
        WL_TRACE("Enter\n");
        WL_CONN("key index (%d)\n", key_idx);
 
        memset(¶ms, 0, sizeof(params));
 
-       bssidx = brcmf_find_bssidx(cfg, ndev);
        err = brcmf_fil_bsscfg_int_get(netdev_priv(ndev), "wsec", &wsec);
        if (err) {
                WL_ERR("WLC_GET_WSEC error (%d)\n", err);