Commit f88ab54c authored by Jes Sorensen's avatar Jes Sorensen Committed by Greg Kroah-Hartman

staging: rtl8723au: rtw_cfg80211_{ap_}set_encryption(): Add sta_addr argument

Signed-off-by: default avatarJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent efd4216c
...@@ -500,7 +500,7 @@ static int set_wep_key(struct rtw_adapter *padapter, const u8 *key, u16 keylen, ...@@ -500,7 +500,7 @@ static int set_wep_key(struct rtw_adapter *padapter, const u8 *key, u16 keylen,
} }
static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index, static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
int set_tx, int set_tx, const u8 *sta_addr,
struct ieee_param *param, struct ieee_param *param,
u32 param_len, u32 param_len,
struct key_params *keyparms) struct key_params *keyparms)
...@@ -514,7 +514,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index, ...@@ -514,7 +514,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
DBG_8723A("%s\n", __func__); DBG_8723A("%s\n", __func__);
if (is_broadcast_ether_addr(param->sta_addr)) { if (is_broadcast_ether_addr(sta_addr)) {
if (key_index >= WEP_KEYS) { if (key_index >= WEP_KEYS) {
ret = -EINVAL; ret = -EINVAL;
goto exit; goto exit;
...@@ -531,7 +531,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index, ...@@ -531,7 +531,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
} }
} else { } else {
psta = rtw_get_stainfo23a(pstapriv, param->sta_addr); psta = rtw_get_stainfo23a(pstapriv, sta_addr);
if (!psta) { if (!psta) {
/* ret = -EINVAL; */ /* ret = -EINVAL; */
DBG_8723A("rtw_set_encryption(), sta has already " DBG_8723A("rtw_set_encryption(), sta has already "
...@@ -776,7 +776,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index, ...@@ -776,7 +776,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
#endif #endif
static int rtw_cfg80211_set_encryption(struct net_device *dev, u8 key_index, static int rtw_cfg80211_set_encryption(struct net_device *dev, u8 key_index,
int set_tx, int set_tx, const u8 *sta_addr,
struct ieee_param *param, u32 param_len, struct ieee_param *param, u32 param_len,
struct key_params *keyparms) struct key_params *keyparms)
{ {
...@@ -790,7 +790,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, u8 key_index, ...@@ -790,7 +790,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, u8 key_index,
key_len = keyparms->key_len; key_len = keyparms->key_len;
if (is_broadcast_ether_addr(param->sta_addr)) { if (is_broadcast_ether_addr(sta_addr)) {
if (key_index >= WEP_KEYS) { if (key_index >= WEP_KEYS) {
ret = -EINVAL; ret = -EINVAL;
goto exit; goto exit;
...@@ -959,6 +959,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev, ...@@ -959,6 +959,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
struct wireless_dev *rtw_wdev = wiphy_to_wdev(wiphy); struct wireless_dev *rtw_wdev = wiphy_to_wdev(wiphy);
struct rtw_adapter *padapter = wiphy_to_adapter(wiphy); struct rtw_adapter *padapter = wiphy_to_adapter(wiphy);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
u8 sta_addr[ETH_ALEN];
DBG_8723A("%s(%s): adding key for %pM\n", __func__, ndev->name, DBG_8723A("%s(%s): adding key for %pM\n", __func__, ndev->name,
mac_addr); mac_addr);
...@@ -986,7 +987,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev, ...@@ -986,7 +987,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
return -ENOMEM; return -ENOMEM;
param->cmd = IEEE_CMD_SET_ENCRYPTION; param->cmd = IEEE_CMD_SET_ENCRYPTION;
eth_broadcast_addr(param->sta_addr); eth_broadcast_addr(sta_addr);
if (!mac_addr || is_broadcast_ether_addr(mac_addr)) if (!mac_addr || is_broadcast_ether_addr(mac_addr))
set_tx = 0; /* for wpa/wpa2 group key */ set_tx = 0; /* for wpa/wpa2 group key */
...@@ -995,13 +996,15 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev, ...@@ -995,13 +996,15 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
ret = rtw_cfg80211_set_encryption(ndev, key_index, set_tx, ret = rtw_cfg80211_set_encryption(ndev, key_index, set_tx,
sta_addr,
param, param_len, params); param, param_len, params);
} else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
#ifdef CONFIG_8723AU_AP_MODE #ifdef CONFIG_8723AU_AP_MODE
if (mac_addr) if (mac_addr)
ether_addr_copy(param->sta_addr, mac_addr); ether_addr_copy(sta_addr, mac_addr);
ret = rtw_cfg80211_ap_set_encryption(ndev, key_index, set_tx, ret = rtw_cfg80211_ap_set_encryption(ndev, key_index, set_tx,
sta_addr,
param, param_len, params); param, param_len, params);
#endif #endif
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment