Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Linux-御风守护者
linux
提交
03c44446
L
linux
项目概览
Linux-御风守护者
/
linux
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
03c44446
编写于
5月 27, 2014
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
上级
ef1b075c
2c316e69
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
43 addition
and
18 deletion
+43
-18
drivers/net/wireless/ath/ath9k/htc_drv_main.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c
+4
-1
include/uapi/linux/nl80211.h
include/uapi/linux/nl80211.h
+3
-1
net/bluetooth/l2cap_core.c
net/bluetooth/l2cap_core.c
+2
-2
net/mac80211/ieee80211_i.h
net/mac80211/ieee80211_i.h
+1
-0
net/mac80211/mlme.c
net/mac80211/mlme.c
+13
-7
net/mac80211/offchannel.c
net/mac80211/offchannel.c
+20
-7
未找到文件。
drivers/net/wireless/ath/ath9k/htc_drv_main.c
浏览文件 @
03c44446
...
@@ -95,8 +95,10 @@ static void ath9k_htc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif)
...
@@ -95,8 +95,10 @@ static void ath9k_htc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif)
if
((
vif
->
type
==
NL80211_IFTYPE_AP
||
if
((
vif
->
type
==
NL80211_IFTYPE_AP
||
vif
->
type
==
NL80211_IFTYPE_MESH_POINT
)
&&
vif
->
type
==
NL80211_IFTYPE_MESH_POINT
)
&&
bss_conf
->
enable_beacon
)
bss_conf
->
enable_beacon
)
{
priv
->
reconfig_beacon
=
true
;
priv
->
reconfig_beacon
=
true
;
priv
->
rearm_ani
=
true
;
}
if
(
bss_conf
->
assoc
)
{
if
(
bss_conf
->
assoc
)
{
priv
->
rearm_ani
=
true
;
priv
->
rearm_ani
=
true
;
...
@@ -257,6 +259,7 @@ static int ath9k_htc_set_channel(struct ath9k_htc_priv *priv,
...
@@ -257,6 +259,7 @@ static int ath9k_htc_set_channel(struct ath9k_htc_priv *priv,
ath9k_htc_ps_wakeup
(
priv
);
ath9k_htc_ps_wakeup
(
priv
);
ath9k_htc_stop_ani
(
priv
);
del_timer_sync
(
&
priv
->
tx
.
cleanup_timer
);
del_timer_sync
(
&
priv
->
tx
.
cleanup_timer
);
ath9k_htc_tx_drain
(
priv
);
ath9k_htc_tx_drain
(
priv
);
...
...
include/uapi/linux/nl80211.h
浏览文件 @
03c44446
...
@@ -3911,6 +3911,8 @@ enum nl80211_ap_sme_features {
...
@@ -3911,6 +3911,8 @@ enum nl80211_ap_sme_features {
* @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
* @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
* to work properly to suppport receiving regulatory hints from
* to work properly to suppport receiving regulatory hints from
* cellular base stations.
* cellular base stations.
* @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only
* here to reserve the value for API/ABI compatibility)
* @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of
* @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of
* equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station
* equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station
* mode
* mode
...
@@ -3955,7 +3957,7 @@ enum nl80211_feature_flags {
...
@@ -3955,7 +3957,7 @@ enum nl80211_feature_flags {
NL80211_FEATURE_HT_IBSS
=
1
<<
1
,
NL80211_FEATURE_HT_IBSS
=
1
<<
1
,
NL80211_FEATURE_INACTIVITY_TIMER
=
1
<<
2
,
NL80211_FEATURE_INACTIVITY_TIMER
=
1
<<
2
,
NL80211_FEATURE_CELL_BASE_REG_HINTS
=
1
<<
3
,
NL80211_FEATURE_CELL_BASE_REG_HINTS
=
1
<<
3
,
/* bit 4 is reserved - don't use */
NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL
=
1
<<
4
,
NL80211_FEATURE_SAE
=
1
<<
5
,
NL80211_FEATURE_SAE
=
1
<<
5
,
NL80211_FEATURE_LOW_PRIORITY_SCAN
=
1
<<
6
,
NL80211_FEATURE_LOW_PRIORITY_SCAN
=
1
<<
6
,
NL80211_FEATURE_SCAN_FLUSH
=
1
<<
7
,
NL80211_FEATURE_SCAN_FLUSH
=
1
<<
7
,
...
...
net/bluetooth/l2cap_core.c
浏览文件 @
03c44446
...
@@ -7519,9 +7519,9 @@ int __init l2cap_init(void)
...
@@ -7519,9 +7519,9 @@ int __init l2cap_init(void)
l2cap_debugfs
=
debugfs_create_file
(
"l2cap"
,
0444
,
bt_debugfs
,
l2cap_debugfs
=
debugfs_create_file
(
"l2cap"
,
0444
,
bt_debugfs
,
NULL
,
&
l2cap_debugfs_fops
);
NULL
,
&
l2cap_debugfs_fops
);
debugfs_create_u16
(
"l2cap_le_max_credits"
,
0
466
,
bt_debugfs
,
debugfs_create_u16
(
"l2cap_le_max_credits"
,
0
644
,
bt_debugfs
,
&
le_max_credits
);
&
le_max_credits
);
debugfs_create_u16
(
"l2cap_le_default_mps"
,
0
466
,
bt_debugfs
,
debugfs_create_u16
(
"l2cap_le_default_mps"
,
0
644
,
bt_debugfs
,
&
le_default_mps
);
&
le_default_mps
);
bt_6lowpan_init
();
bt_6lowpan_init
();
...
...
net/mac80211/ieee80211_i.h
浏览文件 @
03c44446
...
@@ -317,6 +317,7 @@ struct ieee80211_roc_work {
...
@@ -317,6 +317,7 @@ struct ieee80211_roc_work {
bool
started
,
abort
,
hw_begun
,
notified
;
bool
started
,
abort
,
hw_begun
,
notified
;
bool
to_be_freed
;
bool
to_be_freed
;
bool
on_channel
;
unsigned
long
hw_start_time
;
unsigned
long
hw_start_time
;
...
...
net/mac80211/mlme.c
浏览文件 @
03c44446
...
@@ -3626,18 +3626,24 @@ void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata)
...
@@ -3626,18 +3626,24 @@ void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata)
sdata_lock
(
sdata
);
sdata_lock
(
sdata
);
if
(
ifmgd
->
auth_data
)
{
if
(
ifmgd
->
auth_data
||
ifmgd
->
assoc_data
)
{
const
u8
*
bssid
=
ifmgd
->
auth_data
?
ifmgd
->
auth_data
->
bss
->
bssid
:
ifmgd
->
assoc_data
->
bss
->
bssid
;
/*
/*
* If we are trying to authenticate
while suspending, cfg80211
* If we are trying to authenticate
/ associate while suspending,
*
won't know and won't actually abort those attempts, thus we
*
cfg80211 won't know and won't actually abort those attempts,
* need to do that ourselves.
*
thus we
need to do that ourselves.
*/
*/
ieee80211_send_deauth_disassoc
(
sdata
,
ieee80211_send_deauth_disassoc
(
sdata
,
bssid
,
ifmgd
->
auth_data
->
bss
->
bssid
,
IEEE80211_STYPE_DEAUTH
,
IEEE80211_STYPE_DEAUTH
,
WLAN_REASON_DEAUTH_LEAVING
,
WLAN_REASON_DEAUTH_LEAVING
,
false
,
frame_buf
);
false
,
frame_buf
);
ieee80211_destroy_auth_data
(
sdata
,
false
);
if
(
ifmgd
->
assoc_data
)
ieee80211_destroy_assoc_data
(
sdata
,
false
);
if
(
ifmgd
->
auth_data
)
ieee80211_destroy_auth_data
(
sdata
,
false
);
cfg80211_tx_mlme_mgmt
(
sdata
->
dev
,
frame_buf
,
cfg80211_tx_mlme_mgmt
(
sdata
->
dev
,
frame_buf
,
IEEE80211_DEAUTH_FRAME_LEN
);
IEEE80211_DEAUTH_FRAME_LEN
);
}
}
...
...
net/mac80211/offchannel.c
浏览文件 @
03c44446
...
@@ -333,7 +333,7 @@ void ieee80211_sw_roc_work(struct work_struct *work)
...
@@ -333,7 +333,7 @@ void ieee80211_sw_roc_work(struct work_struct *work)
container_of
(
work
,
struct
ieee80211_roc_work
,
work
.
work
);
container_of
(
work
,
struct
ieee80211_roc_work
,
work
.
work
);
struct
ieee80211_sub_if_data
*
sdata
=
roc
->
sdata
;
struct
ieee80211_sub_if_data
*
sdata
=
roc
->
sdata
;
struct
ieee80211_local
*
local
=
sdata
->
local
;
struct
ieee80211_local
*
local
=
sdata
->
local
;
bool
started
;
bool
started
,
on_channel
;
mutex_lock
(
&
local
->
mtx
);
mutex_lock
(
&
local
->
mtx
);
...
@@ -354,14 +354,26 @@ void ieee80211_sw_roc_work(struct work_struct *work)
...
@@ -354,14 +354,26 @@ void ieee80211_sw_roc_work(struct work_struct *work)
if
(
!
roc
->
started
)
{
if
(
!
roc
->
started
)
{
struct
ieee80211_roc_work
*
dep
;
struct
ieee80211_roc_work
*
dep
;
/* start this ROC */
WARN_ON
(
local
->
use_chanctx
);
ieee80211_offchannel_stop_vifs
(
local
);
/* If actually operating on the desired channel (with at least
* 20 MHz channel width) don't stop all the operations but still
* treat it as though the ROC operation started properly, so
* other ROC operations won't interfere with this one.
*/
roc
->
on_channel
=
roc
->
chan
==
local
->
_oper_chandef
.
chan
&&
local
->
_oper_chandef
.
width
!=
NL80211_CHAN_WIDTH_5
&&
local
->
_oper_chandef
.
width
!=
NL80211_CHAN_WIDTH_10
;
/* s
witch channel etc
*/
/* s
tart this ROC
*/
ieee80211_recalc_idle
(
local
);
ieee80211_recalc_idle
(
local
);
local
->
tmp_channel
=
roc
->
chan
;
if
(
!
roc
->
on_channel
)
{
ieee80211_hw_config
(
local
,
0
);
ieee80211_offchannel_stop_vifs
(
local
);
local
->
tmp_channel
=
roc
->
chan
;
ieee80211_hw_config
(
local
,
0
);
}
/* tell userspace or send frame */
/* tell userspace or send frame */
ieee80211_handle_roc_started
(
roc
);
ieee80211_handle_roc_started
(
roc
);
...
@@ -380,9 +392,10 @@ void ieee80211_sw_roc_work(struct work_struct *work)
...
@@ -380,9 +392,10 @@ void ieee80211_sw_roc_work(struct work_struct *work)
finish:
finish:
list_del
(
&
roc
->
list
);
list_del
(
&
roc
->
list
);
started
=
roc
->
started
;
started
=
roc
->
started
;
on_channel
=
roc
->
on_channel
;
ieee80211_roc_notify_destroy
(
roc
,
!
roc
->
abort
);
ieee80211_roc_notify_destroy
(
roc
,
!
roc
->
abort
);
if
(
started
)
{
if
(
started
&&
!
on_channel
)
{
ieee80211_flush_queues
(
local
,
NULL
);
ieee80211_flush_queues
(
local
,
NULL
);
local
->
tmp_channel
=
NULL
;
local
->
tmp_channel
=
NULL
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录