mac80211: move ieee80211_set_freq to utils
It really doesn't belong into the wireless extensions code. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
9c6bd79011
commit
e16751c317
@ -893,7 +893,6 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
|
|||||||
|
|
||||||
/* wireless extensions */
|
/* wireless extensions */
|
||||||
extern const struct iw_handler_def ieee80211_iw_handler_def;
|
extern const struct iw_handler_def ieee80211_iw_handler_def;
|
||||||
int ieee80211_set_freq(struct ieee80211_sub_if_data *sdata, int freq);
|
|
||||||
|
|
||||||
/* STA/IBSS code */
|
/* STA/IBSS code */
|
||||||
void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata);
|
void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata);
|
||||||
@ -1008,6 +1007,7 @@ void ieee80211_tx_skb(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb,
|
|||||||
int encrypt);
|
int encrypt);
|
||||||
void ieee802_11_parse_elems(u8 *start, size_t len,
|
void ieee802_11_parse_elems(u8 *start, size_t len,
|
||||||
struct ieee802_11_elems *elems);
|
struct ieee802_11_elems *elems);
|
||||||
|
int ieee80211_set_freq(struct ieee80211_sub_if_data *sdata, int freq);
|
||||||
|
|
||||||
#ifdef CONFIG_MAC80211_NOINLINE
|
#ifdef CONFIG_MAC80211_NOINLINE
|
||||||
#define debug_noinline noinline
|
#define debug_noinline noinline
|
||||||
|
@ -612,3 +612,31 @@ void ieee80211_tx_skb(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb,
|
|||||||
|
|
||||||
dev_queue_xmit(skb);
|
dev_queue_xmit(skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ieee80211_set_freq(struct ieee80211_sub_if_data *sdata, int freqMHz)
|
||||||
|
{
|
||||||
|
int ret = -EINVAL;
|
||||||
|
struct ieee80211_channel *chan;
|
||||||
|
struct ieee80211_local *local = sdata->local;
|
||||||
|
|
||||||
|
chan = ieee80211_get_channel(local->hw.wiphy, freqMHz);
|
||||||
|
|
||||||
|
if (chan && !(chan->flags & IEEE80211_CHAN_DISABLED)) {
|
||||||
|
if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS &&
|
||||||
|
chan->flags & IEEE80211_CHAN_NO_IBSS) {
|
||||||
|
printk(KERN_DEBUG "%s: IBSS not allowed on frequency "
|
||||||
|
"%d MHz\n", sdata->dev->name, chan->center_freq);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
local->oper_channel = chan;
|
||||||
|
|
||||||
|
if (local->sta_sw_scanning || local->sta_hw_scanning)
|
||||||
|
ret = 0;
|
||||||
|
else
|
||||||
|
ret = ieee80211_hw_config(local);
|
||||||
|
|
||||||
|
rate_control_clear(local);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -330,34 +330,6 @@ static int ieee80211_ioctl_giwmode(struct net_device *dev,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ieee80211_set_freq(struct ieee80211_sub_if_data *sdata, int freqMHz)
|
|
||||||
{
|
|
||||||
int ret = -EINVAL;
|
|
||||||
struct ieee80211_channel *chan;
|
|
||||||
struct ieee80211_local *local = sdata->local;
|
|
||||||
|
|
||||||
chan = ieee80211_get_channel(local->hw.wiphy, freqMHz);
|
|
||||||
|
|
||||||
if (chan && !(chan->flags & IEEE80211_CHAN_DISABLED)) {
|
|
||||||
if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS &&
|
|
||||||
chan->flags & IEEE80211_CHAN_NO_IBSS) {
|
|
||||||
printk(KERN_DEBUG "%s: IBSS not allowed on frequency "
|
|
||||||
"%d MHz\n", sdata->dev->name, chan->center_freq);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
local->oper_channel = chan;
|
|
||||||
|
|
||||||
if (local->sta_sw_scanning || local->sta_hw_scanning)
|
|
||||||
ret = 0;
|
|
||||||
else
|
|
||||||
ret = ieee80211_hw_config(local);
|
|
||||||
|
|
||||||
rate_control_clear(local);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ieee80211_ioctl_siwfreq(struct net_device *dev,
|
static int ieee80211_ioctl_siwfreq(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct iw_freq *freq, char *extra)
|
struct iw_freq *freq, char *extra)
|
||||||
|
Loading…
Reference in New Issue
Block a user