Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
42cecc34
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,发现更多精彩内容 >>
提交
42cecc34
编写于
9月 19, 2011
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Revert "ath9k: do not insert padding into tx buffers on AR9380+"
This reverts commit
4245d313
.
上级
376cf5d3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
37 deletion
+19
-37
drivers/net/wireless/ath/ath9k/xmit.c
drivers/net/wireless/ath/ath9k/xmit.c
+19
-37
未找到文件。
drivers/net/wireless/ath/ath9k/xmit.c
浏览文件 @
42cecc34
...
...
@@ -1017,8 +1017,6 @@ static void ath_tx_fill_desc(struct ath_softc *sc, struct ath_buf *bf,
while
(
bf
)
{
struct
sk_buff
*
skb
=
bf
->
bf_mpdu
;
struct
ath_frame_info
*
fi
=
get_frame_info
(
skb
);
struct
ieee80211_hdr
*
hdr
;
int
padpos
,
padsize
;
info
.
type
=
get_hw_packet_type
(
skb
);
if
(
bf
->
bf_next
)
...
...
@@ -1026,20 +1024,8 @@ static void ath_tx_fill_desc(struct ath_softc *sc, struct ath_buf *bf,
else
info
.
link
=
0
;
if
(
ah
->
caps
.
hw_caps
&
ATH9K_HW_CAP_EDMA
)
{
hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
;
padpos
=
ath9k_cmn_padpos
(
hdr
->
frame_control
);
padsize
=
padpos
&
3
;
info
.
buf_addr
[
0
]
=
bf
->
bf_buf_addr
;
info
.
buf_len
[
0
]
=
padpos
+
padsize
;
info
.
buf_addr
[
1
]
=
info
.
buf_addr
[
0
]
+
padpos
;
info
.
buf_len
[
1
]
=
skb
->
len
-
padpos
;
}
else
{
info
.
buf_addr
[
0
]
=
bf
->
bf_buf_addr
;
info
.
buf_len
[
0
]
=
skb
->
len
;
}
info
.
buf_addr
[
0
]
=
bf
->
bf_buf_addr
;
info
.
buf_len
[
0
]
=
skb
->
len
;
info
.
pkt_len
=
fi
->
framelen
;
info
.
keyix
=
fi
->
keyix
;
info
.
keytype
=
fi
->
keytype
;
...
...
@@ -1892,17 +1878,15 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
hdr
->
seq_ctrl
|=
cpu_to_le16
(
sc
->
tx
.
seq_no
);
}
if
(
!
(
sc
->
sc_ah
->
caps
.
hw_caps
&
ATH9K_HW_CAP_EDMA
))
{
/* Add the padding after the header if this is not already done */
padpos
=
ath9k_cmn_padpos
(
hdr
->
frame_control
);
padsize
=
padpos
&
3
;
if
(
padsize
&&
skb
->
len
>
padpos
)
{
if
(
skb_headroom
(
skb
)
<
padsize
)
return
-
ENOMEM
;
/* Add the padding after the header if this is not already done */
padpos
=
ath9k_cmn_padpos
(
hdr
->
frame_control
);
padsize
=
padpos
&
3
;
if
(
padsize
&&
skb
->
len
>
padpos
)
{
if
(
skb_headroom
(
skb
)
<
padsize
)
return
-
ENOMEM
;
skb_push
(
skb
,
padsize
);
memmove
(
skb
->
data
,
skb
->
data
+
padsize
,
padpos
);
}
skb_push
(
skb
,
padsize
);
memmove
(
skb
->
data
,
skb
->
data
+
padsize
,
padpos
);
}
if
((
vif
&&
vif
->
type
!=
NL80211_IFTYPE_AP
&&
...
...
@@ -1952,17 +1936,15 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
/* Frame was ACKed */
tx_info
->
flags
|=
IEEE80211_TX_STAT_ACK
;
if
(
!
(
sc
->
sc_ah
->
caps
.
hw_caps
&
ATH9K_HW_CAP_EDMA
))
{
padpos
=
ath9k_cmn_padpos
(
hdr
->
frame_control
);
padsize
=
padpos
&
3
;
if
(
padsize
&&
skb
->
len
>
padpos
+
padsize
)
{
/*
* Remove MAC header padding before giving the frame back to
* mac80211.
*/
memmove
(
skb
->
data
+
padsize
,
skb
->
data
,
padpos
);
skb_pull
(
skb
,
padsize
);
}
padpos
=
ath9k_cmn_padpos
(
hdr
->
frame_control
);
padsize
=
padpos
&
3
;
if
(
padsize
&&
skb
->
len
>
padpos
+
padsize
)
{
/*
* Remove MAC header padding before giving the frame back to
* mac80211.
*/
memmove
(
skb
->
data
+
padsize
,
skb
->
data
,
padpos
);
skb_pull
(
skb
,
padsize
);
}
if
(
sc
->
ps_flags
&
PS_WAIT_FOR_TX_ACK
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录