Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
71be7a36
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
71be7a36
编写于
1月 25, 2009
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
a8d694c6
2fcbab04
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
29 addition
and
7 deletion
+29
-7
drivers/net/wireless/iwlwifi/iwl-3945-rs.c
drivers/net/wireless/iwlwifi/iwl-3945-rs.c
+11
-3
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+12
-2
drivers/net/wireless/p54/p54usb.c
drivers/net/wireless/p54/p54usb.c
+5
-2
drivers/net/wireless/rtl818x/rtl8187_dev.c
drivers/net/wireless/rtl818x/rtl8187_dev.c
+1
-0
未找到文件。
drivers/net/wireless/iwlwifi/iwl-3945-rs.c
浏览文件 @
71be7a36
...
...
@@ -638,12 +638,16 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta,
s8
scale_action
=
0
;
unsigned
long
flags
;
struct
ieee80211_hdr
*
hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
;
u16
fc
,
rate_mask
;
u16
fc
;
u16
rate_mask
=
0
;
struct
iwl3945_priv
*
priv
=
(
struct
iwl3945_priv
*
)
priv_r
;
struct
ieee80211_tx_info
*
info
=
IEEE80211_SKB_CB
(
skb
);
IWL_DEBUG_RATE
(
"enter
\n
"
);
if
(
sta
)
rate_mask
=
sta
->
supp_rates
[
sband
->
band
];
/* Send management frames and broadcast/multicast data using lowest
* rate. */
fc
=
le16_to_cpu
(
hdr
->
frame_control
);
...
...
@@ -651,11 +655,15 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta,
is_multicast_ether_addr
(
hdr
->
addr1
)
||
!
sta
||
!
priv_sta
)
{
IWL_DEBUG_RATE
(
"leave: No STA priv data to update!
\n
"
);
info
->
control
.
rates
[
0
].
idx
=
rate_lowest_index
(
sband
,
sta
);
if
(
!
rate_mask
)
info
->
control
.
rates
[
0
].
idx
=
rate_lowest_index
(
sband
,
NULL
);
else
info
->
control
.
rates
[
0
].
idx
=
rate_lowest_index
(
sband
,
sta
);
return
;
}
rate_mask
=
sta
->
supp_rates
[
sband
->
band
];
index
=
min
(
rs_sta
->
last_txrate_idx
&
0xffff
,
IWL_RATE_COUNT
-
1
);
if
(
sband
->
band
==
IEEE80211_BAND_5GHZ
)
...
...
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
浏览文件 @
71be7a36
...
...
@@ -944,6 +944,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
}
/* See if there's a better rate or modulation mode to try. */
if
(
sta
&&
sta
->
supp_rates
[
sband
->
band
])
rs_rate_scale_perform
(
priv
,
hdr
,
sta
,
lq_sta
);
out:
return
;
...
...
@@ -2101,14 +2102,23 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta,
struct
ieee80211_tx_info
*
info
=
IEEE80211_SKB_CB
(
skb
);
struct
iwl_lq_sta
*
lq_sta
=
priv_sta
;
int
rate_idx
;
u64
mask_bit
=
0
;
IWL_DEBUG_RATE_LIMIT
(
"rate scale calculate new rate for skb
\n
"
);
if
(
sta
)
mask_bit
=
sta
->
supp_rates
[
sband
->
band
];
/* Send management frames and broadcast/multicast data using lowest
* rate. */
if
(
!
ieee80211_is_data
(
hdr
->
frame_control
)
||
is_multicast_ether_addr
(
hdr
->
addr1
)
||
!
sta
||
!
lq_sta
)
{
info
->
control
.
rates
[
0
].
idx
=
rate_lowest_index
(
sband
,
sta
);
if
(
!
mask_bit
)
info
->
control
.
rates
[
0
].
idx
=
rate_lowest_index
(
sband
,
NULL
);
else
info
->
control
.
rates
[
0
].
idx
=
rate_lowest_index
(
sband
,
sta
);
return
;
}
...
...
drivers/net/wireless/p54/p54usb.c
浏览文件 @
71be7a36
...
...
@@ -229,6 +229,8 @@ static void p54u_tx_3887(struct ieee80211_hw *dev, struct sk_buff *skb)
usb_sndbulkpipe
(
priv
->
udev
,
P54U_PIPE_DATA
),
skb
->
data
,
skb
->
len
,
FREE_AFTER_TX
(
skb
)
?
p54u_tx_cb
:
p54u_tx_dummy_cb
,
skb
);
addr_urb
->
transfer_flags
|=
URB_ZERO_PACKET
;
data_urb
->
transfer_flags
|=
URB_ZERO_PACKET
;
usb_anchor_urb
(
addr_urb
,
&
priv
->
submitted
);
err
=
usb_submit_urb
(
addr_urb
,
GFP_ATOMIC
);
...
...
@@ -237,7 +239,7 @@ static void p54u_tx_3887(struct ieee80211_hw *dev, struct sk_buff *skb)
goto
out
;
}
usb_anchor_urb
(
addr
_urb
,
&
priv
->
submitted
);
usb_anchor_urb
(
data
_urb
,
&
priv
->
submitted
);
err
=
usb_submit_urb
(
data_urb
,
GFP_ATOMIC
);
if
(
err
)
usb_unanchor_urb
(
data_urb
);
...
...
@@ -332,12 +334,13 @@ static void p54u_tx_net2280(struct ieee80211_hw *dev, struct sk_buff *skb)
* free what's inside the transfer_buffer after the callback routine
* has completed.
*/
int_urb
->
transfer_flags
|=
URB_FREE_BUFFER
;
int_urb
->
transfer_flags
|=
URB_FREE_BUFFER
|
URB_ZERO_PACKET
;
usb_fill_bulk_urb
(
data_urb
,
priv
->
udev
,
usb_sndbulkpipe
(
priv
->
udev
,
P54U_PIPE_DATA
),
hdr
,
skb
->
len
+
sizeof
(
*
hdr
),
FREE_AFTER_TX
(
skb
)
?
p54u_tx_cb
:
p54u_tx_dummy_cb
,
skb
);
data_urb
->
transfer_flags
|=
URB_ZERO_PACKET
;
usb_anchor_urb
(
int_urb
,
&
priv
->
submitted
);
err
=
usb_submit_urb
(
int_urb
,
GFP_ATOMIC
);
...
...
drivers/net/wireless/rtl818x/rtl8187_dev.c
浏览文件 @
71be7a36
...
...
@@ -273,6 +273,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
usb_fill_bulk_urb
(
urb
,
priv
->
udev
,
usb_sndbulkpipe
(
priv
->
udev
,
ep
),
buf
,
skb
->
len
,
rtl8187_tx_cb
,
skb
);
urb
->
transfer_flags
|=
URB_ZERO_PACKET
;
usb_anchor_urb
(
urb
,
&
priv
->
anchored
);
rc
=
usb_submit_urb
(
urb
,
GFP_ATOMIC
);
if
(
rc
<
0
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录