Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
0a0755c9
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看板
提交
0a0755c9
编写于
12月 05, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
a6af2d6b
cde6901b
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
30 addition
and
5 deletion
+30
-5
drivers/net/wireless/ipw2200.c
drivers/net/wireless/ipw2200.c
+4
-0
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.c
+3
-0
drivers/net/wireless/iwlwifi/iwl-sta.c
drivers/net/wireless/iwlwifi/iwl-sta.c
+21
-3
drivers/net/wireless/zd1211rw/zd_mac.c
drivers/net/wireless/zd1211rw/zd_mac.c
+1
-1
net/mac80211/sta_info.c
net/mac80211/sta_info.c
+1
-1
未找到文件。
drivers/net/wireless/ipw2200.c
浏览文件 @
0a0755c9
...
...
@@ -3897,6 +3897,7 @@ static int ipw_disassociate(void *data)
if
(
!
(
priv
->
status
&
(
STATUS_ASSOCIATED
|
STATUS_ASSOCIATING
)))
return
0
;
ipw_send_disassociate
(
data
,
0
);
netif_carrier_off
(
priv
->
net_dev
);
return
1
;
}
...
...
@@ -10190,6 +10191,9 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
u16
remaining_bytes
;
int
fc
;
if
(
!
(
priv
->
status
&
STATUS_ASSOCIATED
))
goto
drop
;
hdr_len
=
ieee80211_get_hdrlen
(
le16_to_cpu
(
hdr
->
frame_ctl
));
switch
(
priv
->
ieee
->
iw_mode
)
{
case
IW_MODE_ADHOC
:
...
...
drivers/net/wireless/iwlwifi/iwl-core.c
浏览文件 @
0a0755c9
...
...
@@ -290,6 +290,9 @@ void iwl_clear_stations_table(struct iwl_priv *priv)
priv
->
num_stations
=
0
;
memset
(
priv
->
stations
,
0
,
sizeof
(
priv
->
stations
));
/* clean ucode key table bit map */
priv
->
ucode_key_table
=
0
;
spin_unlock_irqrestore
(
&
priv
->
sta_lock
,
flags
);
}
EXPORT_SYMBOL
(
iwl_clear_stations_table
);
...
...
drivers/net/wireless/iwlwifi/iwl-sta.c
浏览文件 @
0a0755c9
...
...
@@ -475,7 +475,7 @@ static int iwl_get_free_ucode_key_index(struct iwl_priv *priv)
if
(
!
test_and_set_bit
(
i
,
&
priv
->
ucode_key_table
))
return
i
;
return
-
1
;
return
WEP_INVALID_OFFSET
;
}
int
iwl_send_static_wepkey_cmd
(
struct
iwl_priv
*
priv
,
u8
send_if_empty
)
...
...
@@ -620,6 +620,9 @@ static int iwl_set_wep_dynamic_key_info(struct iwl_priv *priv,
/* else, we are overriding an existing key => no need to allocated room
* in uCode. */
WARN
(
priv
->
stations
[
sta_id
].
sta
.
key
.
key_offset
==
WEP_INVALID_OFFSET
,
"no space for new kew"
);
priv
->
stations
[
sta_id
].
sta
.
key
.
key_flags
=
key_flags
;
priv
->
stations
[
sta_id
].
sta
.
sta
.
modify_mask
=
STA_MODIFY_KEY_MASK
;
priv
->
stations
[
sta_id
].
sta
.
mode
=
STA_CONTROL_MODIFY_MSK
;
...
...
@@ -637,6 +640,7 @@ static int iwl_set_ccmp_dynamic_key_info(struct iwl_priv *priv,
{
unsigned
long
flags
;
__le16
key_flags
=
0
;
int
ret
;
key_flags
|=
(
STA_KEY_FLG_CCMP
|
STA_KEY_FLG_MAP_KEY_MSK
);
key_flags
|=
cpu_to_le16
(
keyconf
->
keyidx
<<
STA_KEY_FLG_KEYID_POS
);
...
...
@@ -664,14 +668,18 @@ static int iwl_set_ccmp_dynamic_key_info(struct iwl_priv *priv,
/* else, we are overriding an existing key => no need to allocated room
* in uCode. */
WARN
(
priv
->
stations
[
sta_id
].
sta
.
key
.
key_offset
==
WEP_INVALID_OFFSET
,
"no space for new kew"
);
priv
->
stations
[
sta_id
].
sta
.
key
.
key_flags
=
key_flags
;
priv
->
stations
[
sta_id
].
sta
.
sta
.
modify_mask
=
STA_MODIFY_KEY_MASK
;
priv
->
stations
[
sta_id
].
sta
.
mode
=
STA_CONTROL_MODIFY_MSK
;
ret
=
iwl_send_add_sta
(
priv
,
&
priv
->
stations
[
sta_id
].
sta
,
CMD_ASYNC
);
spin_unlock_irqrestore
(
&
priv
->
sta_lock
,
flags
);
IWL_DEBUG_INFO
(
"hwcrypto: modify ucode station key info
\n
"
);
return
iwl_send_add_sta
(
priv
,
&
priv
->
stations
[
sta_id
].
sta
,
CMD_ASYNC
);
return
ret
;
}
static
int
iwl_set_tkip_dynamic_key_info
(
struct
iwl_priv
*
priv
,
...
...
@@ -696,6 +704,9 @@ static int iwl_set_tkip_dynamic_key_info(struct iwl_priv *priv,
/* else, we are overriding an existing key => no need to allocated room
* in uCode. */
WARN
(
priv
->
stations
[
sta_id
].
sta
.
key
.
key_offset
==
WEP_INVALID_OFFSET
,
"no space for new kew"
);
/* This copy is acutally not needed: we get the key with each TX */
memcpy
(
priv
->
stations
[
sta_id
].
keyinfo
.
key
,
keyconf
->
key
,
16
);
...
...
@@ -734,6 +745,13 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv,
return
0
;
}
if
(
priv
->
stations
[
sta_id
].
sta
.
key
.
key_offset
==
WEP_INVALID_OFFSET
)
{
IWL_WARNING
(
"Removing wrong key %d 0x%x
\n
"
,
keyconf
->
keyidx
,
key_flags
);
spin_unlock_irqrestore
(
&
priv
->
sta_lock
,
flags
);
return
0
;
}
if
(
!
test_and_clear_bit
(
priv
->
stations
[
sta_id
].
sta
.
key
.
key_offset
,
&
priv
->
ucode_key_table
))
IWL_ERROR
(
"index %d not used in uCode key table.
\n
"
,
...
...
drivers/net/wireless/zd1211rw/zd_mac.c
浏览文件 @
0a0755c9
...
...
@@ -615,7 +615,7 @@ static int filter_ack(struct ieee80211_hw *hw, struct ieee80211_hdr *rx_hdr,
struct
ieee80211_hdr
*
tx_hdr
;
tx_hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
;
if
(
likely
(
!
compare_ether_addr
(
tx_hdr
->
addr2
,
rx_hdr
->
addr1
)))
if
(
likely
(
!
memcmp
(
tx_hdr
->
addr2
,
rx_hdr
->
addr1
,
ETH_ALEN
)))
{
__skb_unlink
(
skb
,
q
);
tx_status
(
hw
,
skb
,
IEEE80211_TX_STAT_ACK
,
stats
->
signal
,
1
);
...
...
net/mac80211/sta_info.c
浏览文件 @
0a0755c9
...
...
@@ -99,7 +99,7 @@ struct sta_info *sta_info_get(struct ieee80211_local *local, const u8 *addr)
sta
=
rcu_dereference
(
local
->
sta_hash
[
STA_HASH
(
addr
)]);
while
(
sta
)
{
if
(
compare_ether_addr
(
sta
->
sta
.
addr
,
addr
)
==
0
)
if
(
memcmp
(
sta
->
sta
.
addr
,
addr
,
ETH_ALEN
)
==
0
)
break
;
sta
=
rcu_dereference
(
sta
->
hnext
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录