|
@@ -82,7 +82,6 @@ static int ieee80211_change_iface(struct wiphy *wiphy, int ifindex,
|
|
|
enum nl80211_iftype type, u32 *flags,
|
|
|
struct vif_params *params)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct net_device *dev;
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
int ret;
|
|
@@ -95,9 +94,6 @@ static int ieee80211_change_iface(struct wiphy *wiphy, int ifindex,
|
|
|
if (!nl80211_type_check(type))
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
ret = ieee80211_if_change_type(sdata, type);
|
|
@@ -120,16 +116,12 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
|
|
u8 key_idx, u8 *mac_addr,
|
|
|
struct key_params *params)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct sta_info *sta = NULL;
|
|
|
enum ieee80211_key_alg alg;
|
|
|
struct ieee80211_key *key;
|
|
|
int err;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
switch (params->cipher) {
|
|
@@ -174,14 +166,10 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
|
|
static int ieee80211_del_key(struct wiphy *wiphy, struct net_device *dev,
|
|
|
u8 key_idx, u8 *mac_addr)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct sta_info *sta;
|
|
|
int ret;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
rcu_read_lock();
|
|
@@ -222,7 +210,6 @@ static int ieee80211_get_key(struct wiphy *wiphy, struct net_device *dev,
|
|
|
void (*callback)(void *cookie,
|
|
|
struct key_params *params))
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct sta_info *sta = NULL;
|
|
|
u8 seq[6] = {0};
|
|
@@ -232,9 +219,6 @@ static int ieee80211_get_key(struct wiphy *wiphy, struct net_device *dev,
|
|
|
u16 iv16;
|
|
|
int err = -ENOENT;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
rcu_read_lock();
|
|
@@ -310,12 +294,8 @@ static int ieee80211_config_default_key(struct wiphy *wiphy,
|
|
|
struct net_device *dev,
|
|
|
u8 key_idx)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
rcu_read_lock();
|
|
|
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
@@ -496,13 +476,9 @@ static int ieee80211_config_beacon(struct ieee80211_sub_if_data *sdata,
|
|
|
static int ieee80211_add_beacon(struct wiphy *wiphy, struct net_device *dev,
|
|
|
struct beacon_parameters *params)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct beacon_data *old;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (sdata->vif.type != NL80211_IFTYPE_AP)
|
|
@@ -519,13 +495,9 @@ static int ieee80211_add_beacon(struct wiphy *wiphy, struct net_device *dev,
|
|
|
static int ieee80211_set_beacon(struct wiphy *wiphy, struct net_device *dev,
|
|
|
struct beacon_parameters *params)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct beacon_data *old;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (sdata->vif.type != NL80211_IFTYPE_AP)
|
|
@@ -541,13 +513,9 @@ static int ieee80211_set_beacon(struct wiphy *wiphy, struct net_device *dev,
|
|
|
|
|
|
static int ieee80211_del_beacon(struct wiphy *wiphy, struct net_device *dev)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct beacon_data *old;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (sdata->vif.type != NL80211_IFTYPE_AP)
|
|
@@ -695,9 +663,6 @@ static int ieee80211_add_station(struct wiphy *wiphy, struct net_device *dev,
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
int err;
|
|
|
|
|
|
- if (dev == local->mdev || params->vlan == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
/* Prevent a race with changing the rate control algorithm */
|
|
|
if (!netif_running(dev))
|
|
|
return -ENETDOWN;
|
|
@@ -752,9 +717,6 @@ static int ieee80211_del_station(struct wiphy *wiphy, struct net_device *dev,
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct sta_info *sta;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (mac) {
|
|
@@ -786,9 +748,6 @@ static int ieee80211_change_station(struct wiphy *wiphy,
|
|
|
struct sta_info *sta;
|
|
|
struct ieee80211_sub_if_data *vlansdata;
|
|
|
|
|
|
- if (dev == local->mdev || params->vlan == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
rcu_read_lock();
|
|
|
|
|
|
/* XXX: get sta belonging to dev */
|
|
@@ -828,9 +787,6 @@ static int ieee80211_add_mpath(struct wiphy *wiphy, struct net_device *dev,
|
|
|
struct sta_info *sta;
|
|
|
int err;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
if (!netif_running(dev))
|
|
|
return -ENETDOWN;
|
|
|
|
|
@@ -884,9 +840,6 @@ static int ieee80211_change_mpath(struct wiphy *wiphy,
|
|
|
struct mesh_path *mpath;
|
|
|
struct sta_info *sta;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
if (!netif_running(dev))
|
|
|
return -ENETDOWN;
|
|
|
|
|
@@ -958,13 +911,9 @@ static int ieee80211_get_mpath(struct wiphy *wiphy, struct net_device *dev,
|
|
|
u8 *dst, u8 *next_hop, struct mpath_info *pinfo)
|
|
|
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct mesh_path *mpath;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (sdata->vif.type != NL80211_IFTYPE_MESH_POINT)
|
|
@@ -986,13 +935,9 @@ static int ieee80211_dump_mpath(struct wiphy *wiphy, struct net_device *dev,
|
|
|
int idx, u8 *dst, u8 *next_hop,
|
|
|
struct mpath_info *pinfo)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
struct mesh_path *mpath;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (sdata->vif.type != NL80211_IFTYPE_MESH_POINT)
|
|
@@ -1015,13 +960,9 @@ static int ieee80211_change_bss(struct wiphy *wiphy,
|
|
|
struct net_device *dev,
|
|
|
struct bss_parameters *params)
|
|
|
{
|
|
|
- struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
u32 changed = 0;
|
|
|
|
|
|
- if (dev == local->mdev)
|
|
|
- return -EOPNOTSUPP;
|
|
|
-
|
|
|
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
|
|
|
|
if (sdata->vif.type != NL80211_IFTYPE_AP)
|