Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
8cab24f0
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8cab24f0
编写于
11年前
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-john' of
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
上级
69a2bac8
62a40a15
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
8 deletion
+19
-8
net/mac80211/iface.c
net/mac80211/iface.c
+19
-8
未找到文件。
net/mac80211/iface.c
浏览文件 @
8cab24f0
...
...
@@ -78,7 +78,7 @@ void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata)
ieee80211_bss_info_change_notify
(
sdata
,
BSS_CHANGED_TXPOWER
);
}
u32
ieee80211_idle_off
(
struct
ieee80211_local
*
local
)
static
u32
__
ieee80211_idle_off
(
struct
ieee80211_local
*
local
)
{
if
(
!
(
local
->
hw
.
conf
.
flags
&
IEEE80211_CONF_IDLE
))
return
0
;
...
...
@@ -87,7 +87,7 @@ u32 ieee80211_idle_off(struct ieee80211_local *local)
return
IEEE80211_CONF_CHANGE_IDLE
;
}
static
u32
ieee80211_idle_on
(
struct
ieee80211_local
*
local
)
static
u32
__
ieee80211_idle_on
(
struct
ieee80211_local
*
local
)
{
if
(
local
->
hw
.
conf
.
flags
&
IEEE80211_CONF_IDLE
)
return
0
;
...
...
@@ -98,16 +98,18 @@ static u32 ieee80211_idle_on(struct ieee80211_local *local)
return
IEEE80211_CONF_CHANGE_IDLE
;
}
void
ieee80211_recalc_idle
(
struct
ieee80211_local
*
local
)
static
u32
__ieee80211_recalc_idle
(
struct
ieee80211_local
*
local
,
bool
force_active
)
{
bool
working
=
false
,
scanning
,
active
;
unsigned
int
led_trig_start
=
0
,
led_trig_stop
=
0
;
struct
ieee80211_roc_work
*
roc
;
u32
change
;
lockdep_assert_held
(
&
local
->
mtx
);
active
=
!
list_empty
(
&
local
->
chanctx_list
)
||
local
->
monitors
;
active
=
force_active
||
!
list_empty
(
&
local
->
chanctx_list
)
||
local
->
monitors
;
if
(
!
local
->
ops
->
remain_on_channel
)
{
list_for_each_entry
(
roc
,
&
local
->
roc_list
,
list
)
{
...
...
@@ -132,9 +134,18 @@ void ieee80211_recalc_idle(struct ieee80211_local *local)
ieee80211_mod_tpt_led_trig
(
local
,
led_trig_start
,
led_trig_stop
);
if
(
working
||
scanning
||
active
)
change
=
ieee80211_idle_off
(
local
);
else
change
=
ieee80211_idle_on
(
local
);
return
__ieee80211_idle_off
(
local
);
return
__ieee80211_idle_on
(
local
);
}
u32
ieee80211_idle_off
(
struct
ieee80211_local
*
local
)
{
return
__ieee80211_recalc_idle
(
local
,
true
);
}
void
ieee80211_recalc_idle
(
struct
ieee80211_local
*
local
)
{
u32
change
=
__ieee80211_recalc_idle
(
local
,
false
);
if
(
change
)
ieee80211_hw_config
(
local
,
change
);
}
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部