Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
1a26904e
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1a26904e
编写于
8月 02, 2012
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-john' of
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
上级
e33cdac0
899852af
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
26 addition
and
3 deletion
+26
-3
include/net/cfg80211.h
include/net/cfg80211.h
+2
-0
net/mac80211/mesh.c
net/mac80211/mesh.c
+3
-0
net/mac80211/mlme.c
net/mac80211/mlme.c
+2
-0
net/mac80211/scan.c
net/mac80211/scan.c
+1
-2
net/wireless/reg.c
net/wireless/reg.c
+18
-1
未找到文件。
include/net/cfg80211.h
浏览文件 @
1a26904e
...
...
@@ -96,6 +96,7 @@ enum ieee80211_band {
* is not permitted.
* @IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel
* is not permitted.
* @IEEE80211_CHAN_NO_OFDM: OFDM is not allowed on this channel.
*/
enum
ieee80211_channel_flags
{
IEEE80211_CHAN_DISABLED
=
1
<<
0
,
...
...
@@ -104,6 +105,7 @@ enum ieee80211_channel_flags {
IEEE80211_CHAN_RADAR
=
1
<<
3
,
IEEE80211_CHAN_NO_HT40PLUS
=
1
<<
4
,
IEEE80211_CHAN_NO_HT40MINUS
=
1
<<
5
,
IEEE80211_CHAN_NO_OFDM
=
1
<<
6
,
};
#define IEEE80211_CHAN_NO_HT40 \
...
...
net/mac80211/mesh.c
浏览文件 @
1a26904e
...
...
@@ -622,6 +622,7 @@ void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata)
del_timer_sync
(
&
sdata
->
u
.
mesh
.
housekeeping_timer
);
del_timer_sync
(
&
sdata
->
u
.
mesh
.
mesh_path_root_timer
);
del_timer_sync
(
&
sdata
->
u
.
mesh
.
mesh_path_timer
);
/*
* If the timer fired while we waited for it, it will have
* requeued the work. Now the work will be running again
...
...
@@ -634,6 +635,8 @@ void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata)
local
->
fif_other_bss
--
;
atomic_dec
(
&
local
->
iff_allmultis
);
ieee80211_configure_filter
(
local
);
sdata
->
u
.
mesh
.
timers_running
=
0
;
}
static
void
ieee80211_mesh_rx_bcn_presp
(
struct
ieee80211_sub_if_data
*
sdata
,
...
...
net/mac80211/mlme.c
浏览文件 @
1a26904e
...
...
@@ -1430,6 +1430,8 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
del_timer_sync
(
&
sdata
->
u
.
mgd
.
bcn_mon_timer
);
del_timer_sync
(
&
sdata
->
u
.
mgd
.
timer
);
del_timer_sync
(
&
sdata
->
u
.
mgd
.
chswitch_timer
);
sdata
->
u
.
mgd
.
timers_running
=
0
;
}
void
ieee80211_sta_rx_notify
(
struct
ieee80211_sub_if_data
*
sdata
,
...
...
net/mac80211/scan.c
浏览文件 @
1a26904e
...
...
@@ -299,7 +299,7 @@ static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted,
if
(
local
->
scan_req
!=
local
->
int_scan_req
)
cfg80211_scan_done
(
local
->
scan_req
,
aborted
);
local
->
scan_req
=
NULL
;
local
->
scan_sdata
=
NULL
;
rcu_assign_pointer
(
local
->
scan_sdata
,
NULL
)
;
local
->
scanning
=
0
;
local
->
scan_channel
=
NULL
;
...
...
@@ -984,7 +984,6 @@ int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata)
kfree
(
local
->
sched_scan_ies
.
ie
[
i
]);
drv_sched_scan_stop
(
local
,
sdata
);
rcu_assign_pointer
(
local
->
sched_scan_sdata
,
NULL
);
}
out:
mutex_unlock
(
&
local
->
mtx
);
...
...
net/wireless/reg.c
浏览文件 @
1a26904e
...
...
@@ -680,6 +680,8 @@ static u32 map_regdom_flags(u32 rd_flags)
channel_flags
|=
IEEE80211_CHAN_NO_IBSS
;
if
(
rd_flags
&
NL80211_RRF_DFS
)
channel_flags
|=
IEEE80211_CHAN_RADAR
;
if
(
rd_flags
&
NL80211_RRF_NO_OFDM
)
channel_flags
|=
IEEE80211_CHAN_NO_OFDM
;
return
channel_flags
;
}
...
...
@@ -901,7 +903,21 @@ static void handle_channel(struct wiphy *wiphy,
chan
->
max_antenna_gain
=
min
(
chan
->
orig_mag
,
(
int
)
MBI_TO_DBI
(
power_rule
->
max_antenna_gain
));
chan
->
max_reg_power
=
(
int
)
MBM_TO_DBM
(
power_rule
->
max_eirp
);
chan
->
max_power
=
min
(
chan
->
max_power
,
chan
->
max_reg_power
);
if
(
chan
->
orig_mpwr
)
{
/*
* Devices that have their own custom regulatory domain
* but also use WIPHY_FLAG_STRICT_REGULATORY will follow the
* passed country IE power settings.
*/
if
(
initiator
==
NL80211_REGDOM_SET_BY_COUNTRY_IE
&&
wiphy
->
flags
&
WIPHY_FLAG_CUSTOM_REGULATORY
&&
wiphy
->
flags
&
WIPHY_FLAG_STRICT_REGULATORY
)
chan
->
max_power
=
chan
->
max_reg_power
;
else
chan
->
max_power
=
min
(
chan
->
orig_mpwr
,
chan
->
max_reg_power
);
}
else
chan
->
max_power
=
chan
->
max_reg_power
;
}
static
void
handle_band
(
struct
wiphy
*
wiphy
,
...
...
@@ -1885,6 +1901,7 @@ static void restore_custom_reg_settings(struct wiphy *wiphy)
chan
->
flags
=
chan
->
orig_flags
;
chan
->
max_antenna_gain
=
chan
->
orig_mag
;
chan
->
max_power
=
chan
->
orig_mpwr
;
chan
->
beacon_found
=
false
;
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录