X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?p=kvmfornfv.git;a=blobdiff_plain;f=kernel%2Fdrivers%2Fstaging%2Frtl8192e%2Frtllib_wx.c;h=80f7a099dff1efe560101c8fe2df15443e9b813d;hp=6234aae5b069ea4715cce087e86634586f9041d8;hb=e09b41010ba33a20a87472ee821fa407a5b8da36;hpb=f93b97fd65072de626c074dbe099a1fff05ce060 diff --git a/kernel/drivers/staging/rtl8192e/rtllib_wx.c b/kernel/drivers/staging/rtl8192e/rtllib_wx.c index 6234aae5b..80f7a099d 100644 --- a/kernel/drivers/staging/rtl8192e/rtllib_wx.c +++ b/kernel/drivers/staging/rtl8192e/rtllib_wx.c @@ -17,10 +17,6 @@ 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., 59 - Temple Place - Suite 330, Boston, MA 02111-1307, USA. - The full GNU General Public License is included in this distribution in the file called LICENSE. @@ -266,7 +262,7 @@ int rtllib_wx_get_scan(struct rtllib_device *ieee, int i = 0; int err = 0; - RTLLIB_DEBUG_WX("Getting scan\n"); + netdev_dbg(ieee->dev, "Getting scan\n"); down(&ieee->wx_sem); spin_lock_irqsave(&ieee->lock, flags); @@ -281,11 +277,13 @@ int rtllib_wx_get_scan(struct rtllib_device *ieee, ev = rtl819x_translate_scan(ieee, ev, stop, network, info); else - RTLLIB_DEBUG_SCAN("Not showing network '%s ( %pM)' due to age (%lums).\n", - escape_essid(network->ssid, - network->ssid_len), - network->bssid, - (jiffies - network->last_scanned) / (HZ / 100)); + netdev_dbg(ieee->dev, + "Network '%s ( %pM)' hidden due to age (%lums).\n", + escape_essid(network->ssid, + network->ssid_len), + network->bssid, + (jiffies - network->last_scanned) / + (HZ / 100)); } spin_unlock_irqrestore(&ieee->lock, flags); @@ -293,7 +291,7 @@ int rtllib_wx_get_scan(struct rtllib_device *ieee, wrqu->data.length = ev - extra; wrqu->data.flags = 0; - RTLLIB_DEBUG_WX("exit: %d networks returned.\n", i); + netdev_dbg(ieee->dev, "%s(): %d networks returned.\n", __func__, i); return err; } @@ -311,7 +309,7 @@ int rtllib_wx_set_encode(struct rtllib_device *ieee, int i, key, key_provided, len; struct lib80211_crypt_data **crypt; - RTLLIB_DEBUG_WX("SET_ENCODE\n"); + netdev_dbg(ieee->dev, "%s()\n", __func__); key = erq->flags & IW_ENCODE_INDEX; if (key) { @@ -324,16 +322,16 @@ int rtllib_wx_set_encode(struct rtllib_device *ieee, key = ieee->crypt_info.tx_keyidx; } - RTLLIB_DEBUG_WX("Key: %d [%s]\n", key, key_provided ? + netdev_dbg(ieee->dev, "Key: %d [%s]\n", key, key_provided ? "provided" : "default"); crypt = &ieee->crypt_info.crypt[key]; if (erq->flags & IW_ENCODE_DISABLED) { if (key_provided && *crypt) { - RTLLIB_DEBUG_WX("Disabling encryption on key %d.\n", - key); + netdev_dbg(ieee->dev, + "Disabling encryption on key %d.\n", key); lib80211_crypt_delayed_deinit(&ieee->crypt_info, crypt); } else - RTLLIB_DEBUG_WX("Disabling encryption.\n"); + netdev_dbg(ieee->dev, "Disabling encryption.\n"); /* Check all the keys to see if any are still configured, * and if no key index was provided, de-init them all @@ -405,9 +403,9 @@ int rtllib_wx_set_encode(struct rtllib_device *ieee, if (len > erq->length) memset(sec.keys[key] + erq->length, 0, len - erq->length); - RTLLIB_DEBUG_WX("Setting key %d to '%s' (%d:%d bytes)\n", - key, escape_essid(sec.keys[key], len), - erq->length, len); + netdev_dbg(ieee->dev, "Setting key %d to '%s' (%d:%d bytes)\n", + key, escape_essid(sec.keys[key], len), erq->length, + len); sec.key_sizes[key] = len; (*crypt)->ops->set_key(sec.keys[key], len, NULL, (*crypt)->priv); @@ -436,8 +434,8 @@ int rtllib_wx_set_encode(struct rtllib_device *ieee, /* No key data - just set the default TX key index */ if (key_provided) { - RTLLIB_DEBUG_WX("Setting key %d to default Tx key.\n", - key); + netdev_dbg(ieee->dev, + "Setting key %d as default Tx key.\n", key); ieee->crypt_info.tx_keyidx = key; sec.active_key = key; sec.flags |= SEC_ACTIVE_KEY; @@ -449,7 +447,7 @@ int rtllib_wx_set_encode(struct rtllib_device *ieee, WLAN_AUTH_SHARED_KEY; sec.auth_mode = ieee->open_wep ? WLAN_AUTH_OPEN : WLAN_AUTH_SHARED_KEY; sec.flags |= SEC_AUTH_MODE; - RTLLIB_DEBUG_WX("Auth: %s\n", sec.auth_mode == WLAN_AUTH_OPEN ? + netdev_dbg(ieee->dev, "Auth: %s\n", sec.auth_mode == WLAN_AUTH_OPEN ? "OPEN" : "SHARED KEY"); /* For now we just support WEP, so only set that security level... @@ -485,7 +483,7 @@ int rtllib_wx_get_encode(struct rtllib_device *ieee, int len, key; struct lib80211_crypt_data *crypt; - RTLLIB_DEBUG_WX("GET_ENCODE\n"); + netdev_dbg(ieee->dev, "%s()\n", __func__); if (ieee->iw_mode == IW_MODE_MONITOR) return -1; @@ -508,7 +506,8 @@ int rtllib_wx_get_encode(struct rtllib_device *ieee, return 0; } len = crypt->ops->get_key(keybuf, SCM_KEY_LEN, NULL, crypt->priv); - erq->length = (len >= 0 ? len : 0); + + erq->length = max(len, 0); erq->flags |= IW_ENCODE_ENABLED; @@ -592,8 +591,7 @@ int rtllib_wx_set_encode_ext(struct rtllib_device *ieee, module = "rtllib_crypt_ccmp"; break; default: - RTLLIB_DEBUG_WX("%s: unknown crypto alg %d\n", - dev->name, ext->alg); + netdev_dbg(ieee->dev, "Unknown crypto alg %d\n", ext->alg); ret = -EINVAL; goto done; } @@ -673,70 +671,13 @@ done: if (ieee->reset_on_keychange && ieee->iw_mode != IW_MODE_INFRA && ieee->reset_port && ieee->reset_port(dev)) { - RTLLIB_DEBUG_WX("%s: reset_port failed\n", dev->name); + netdev_dbg(ieee->dev, "Port reset failed\n"); return -EINVAL; } return ret; } EXPORT_SYMBOL(rtllib_wx_set_encode_ext); -int rtllib_wx_get_encode_ext(struct rtllib_device *ieee, - struct iw_request_info *info, - union iwreq_data *wrqu, char *extra) -{ - struct iw_point *encoding = &wrqu->encoding; - struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; - struct lib80211_crypt_data *crypt; - int idx, max_key_len; - - max_key_len = encoding->length - sizeof(*ext); - if (max_key_len < 0) - return -EINVAL; - - idx = encoding->flags & IW_ENCODE_INDEX; - if (idx) { - if (idx < 1 || idx > NUM_WEP_KEYS) - return -EINVAL; - idx--; - } else { - idx = ieee->crypt_info.tx_keyidx; - } - if (!(ext->ext_flags & IW_ENCODE_EXT_GROUP_KEY) && - (ext->alg != IW_ENCODE_ALG_WEP)) - if (idx != 0 || (ieee->iw_mode != IW_MODE_INFRA)) - return -EINVAL; - - crypt = ieee->crypt_info.crypt[idx]; - - encoding->flags = idx + 1; - memset(ext, 0, sizeof(*ext)); - - if (crypt == NULL || crypt->ops == NULL) { - ext->alg = IW_ENCODE_ALG_NONE; - ext->key_len = 0; - encoding->flags |= IW_ENCODE_DISABLED; - } else { - if (strcmp(crypt->ops->name, "R-WEP") == 0) - ext->alg = IW_ENCODE_ALG_WEP; - else if (strcmp(crypt->ops->name, "R-TKIP")) - ext->alg = IW_ENCODE_ALG_TKIP; - else if (strcmp(crypt->ops->name, "R-CCMP")) - ext->alg = IW_ENCODE_ALG_CCMP; - else - return -EINVAL; - ext->key_len = crypt->ops->get_key(ext->key, SCM_KEY_LEN, - NULL, crypt->priv); - encoding->flags |= IW_ENCODE_ENABLED; - if (ext->key_len && - (ext->alg == IW_ENCODE_ALG_TKIP || - ext->alg == IW_ENCODE_ALG_CCMP)) - ext->ext_flags |= IW_ENCODE_EXT_TX_SEQ_VALID; - - } - - return 0; -} - int rtllib_wx_set_mlme(struct rtllib_device *ieee, struct iw_request_info *info, union iwreq_data *wrqu, char *extra) @@ -850,8 +791,7 @@ int rtllib_wx_set_gen_ie(struct rtllib_device *ieee, u8 *ie, size_t len) if ((eid == MFIE_TYPE_GENERIC) && (!memcmp(&ie[2], wps_oui, 4))) { - ieee->wps_ie_len = (len < MAX_WZC_IE_LEN) ? (len) : - (MAX_WZC_IE_LEN); + ieee->wps_ie_len = min_t(size_t, len, MAX_WZC_IE_LEN); buf = kmemdup(ie, ieee->wps_ie_len, GFP_KERNEL); if (buf == NULL) return -ENOMEM;