Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
a50f9d5e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a50f9d5e
编写于
1月 06, 2014
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-john' of
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
上级
b7e04735
277d916f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
11 deletion
+14
-11
drivers/net/wireless/mac80211_hwsim.c
drivers/net/wireless/mac80211_hwsim.c
+1
-1
net/mac80211/tx.c
net/mac80211/tx.c
+13
-10
未找到文件。
drivers/net/wireless/mac80211_hwsim.c
浏览文件 @
a50f9d5e
...
...
@@ -2011,7 +2011,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2,
(
hwsim_flags
&
HWSIM_TX_STAT_ACK
))
{
if
(
skb
->
len
>=
16
)
{
hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
;
mac80211_hwsim_monitor_ack
(
txi
->
rate_driver_data
[
0
]
,
mac80211_hwsim_monitor_ack
(
data2
->
channel
,
hdr
->
addr2
);
}
txi
->
flags
|=
IEEE80211_TX_STAT_ACK
;
...
...
net/mac80211/tx.c
浏览文件 @
a50f9d5e
...
...
@@ -463,7 +463,6 @@ ieee80211_tx_h_unicast_ps_buf(struct ieee80211_tx_data *tx)
{
struct
sta_info
*
sta
=
tx
->
sta
;
struct
ieee80211_tx_info
*
info
=
IEEE80211_SKB_CB
(
tx
->
skb
);
struct
ieee80211_hdr
*
hdr
=
(
struct
ieee80211_hdr
*
)
tx
->
skb
->
data
;
struct
ieee80211_local
*
local
=
tx
->
local
;
if
(
unlikely
(
!
sta
))
...
...
@@ -474,15 +473,6 @@ ieee80211_tx_h_unicast_ps_buf(struct ieee80211_tx_data *tx)
!
(
info
->
flags
&
IEEE80211_TX_CTL_NO_PS_BUFFER
)))
{
int
ac
=
skb_get_queue_mapping
(
tx
->
skb
);
/* only deauth, disassoc and action are bufferable MMPDUs */
if
(
ieee80211_is_mgmt
(
hdr
->
frame_control
)
&&
!
ieee80211_is_deauth
(
hdr
->
frame_control
)
&&
!
ieee80211_is_disassoc
(
hdr
->
frame_control
)
&&
!
ieee80211_is_action
(
hdr
->
frame_control
))
{
info
->
flags
|=
IEEE80211_TX_CTL_NO_PS_BUFFER
;
return
TX_CONTINUE
;
}
ps_dbg
(
sta
->
sdata
,
"STA %pM aid %d: PS buffer for AC %d
\n
"
,
sta
->
sta
.
addr
,
sta
->
sta
.
aid
,
ac
);
if
(
tx
->
local
->
total_ps_buffered
>=
TOTAL_MAX_TX_BUFFER
)
...
...
@@ -525,9 +515,22 @@ ieee80211_tx_h_unicast_ps_buf(struct ieee80211_tx_data *tx)
static
ieee80211_tx_result
debug_noinline
ieee80211_tx_h_ps_buf
(
struct
ieee80211_tx_data
*
tx
)
{
struct
ieee80211_tx_info
*
info
=
IEEE80211_SKB_CB
(
tx
->
skb
);
struct
ieee80211_hdr
*
hdr
=
(
struct
ieee80211_hdr
*
)
tx
->
skb
->
data
;
if
(
unlikely
(
tx
->
flags
&
IEEE80211_TX_PS_BUFFERED
))
return
TX_CONTINUE
;
/* only deauth, disassoc and action are bufferable MMPDUs */
if
(
ieee80211_is_mgmt
(
hdr
->
frame_control
)
&&
!
ieee80211_is_deauth
(
hdr
->
frame_control
)
&&
!
ieee80211_is_disassoc
(
hdr
->
frame_control
)
&&
!
ieee80211_is_action
(
hdr
->
frame_control
))
{
if
(
tx
->
flags
&
IEEE80211_TX_UNICAST
)
info
->
flags
|=
IEEE80211_TX_CTL_NO_PS_BUFFER
;
return
TX_CONTINUE
;
}
if
(
tx
->
flags
&
IEEE80211_TX_UNICAST
)
return
ieee80211_tx_h_unicast_ps_buf
(
tx
);
else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录