Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
53438e5d
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看板
提交
53438e5d
编写于
11月 20, 2007
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fixes-davem' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
1f305323
92468c53
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
37 addition
and
6 deletion
+37
-6
include/net/ieee80211.h
include/net/ieee80211.h
+8
-0
net/ieee80211/ieee80211_crypt_ccmp.c
net/ieee80211/ieee80211_crypt_ccmp.c
+1
-1
net/ieee80211/ieee80211_crypt_tkip.c
net/ieee80211/ieee80211_crypt_tkip.c
+2
-2
net/mac80211/ieee80211.c
net/mac80211/ieee80211.c
+25
-2
net/mac80211/ieee80211_sta.c
net/mac80211/ieee80211_sta.c
+1
-1
未找到文件。
include/net/ieee80211.h
浏览文件 @
53438e5d
...
...
@@ -115,8 +115,16 @@ extern u32 ieee80211_debug_level;
do { if (ieee80211_debug_level & (level)) \
printk(KERN_DEBUG "ieee80211: %c %s " fmt, \
in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
static
inline
bool
ieee80211_ratelimit_debug
(
u32
level
)
{
return
(
ieee80211_debug_level
&
level
)
&&
net_ratelimit
();
}
#else
#define IEEE80211_DEBUG(level, fmt, args...) do {} while (0)
static
inline
bool
ieee80211_ratelimit_debug
(
u32
level
)
{
return
false
;
}
#endif
/* CONFIG_IEEE80211_DEBUG */
/* escape_essid() is intended to be used in debug (and possibly error)
...
...
net/ieee80211/ieee80211_crypt_ccmp.c
浏览文件 @
53438e5d
...
...
@@ -338,7 +338,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
pos
+=
8
;
if
(
ccmp_replay_check
(
pn
,
key
->
rx_pn
))
{
if
(
net_ratelimit
(
))
{
if
(
ieee80211_ratelimit_debug
(
IEEE80211_DL_DROP
))
{
IEEE80211_DEBUG_DROP
(
"CCMP: replay detected: STA=%s "
"previous PN %02x%02x%02x%02x%02x%02x "
"received PN %02x%02x%02x%02x%02x%02x
\n
"
,
...
...
net/ieee80211/ieee80211_crypt_tkip.c
浏览文件 @
53438e5d
...
...
@@ -464,7 +464,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
pos
+=
8
;
if
(
tkip_replay_check
(
iv32
,
iv16
,
tkey
->
rx_iv32
,
tkey
->
rx_iv16
))
{
if
(
net_ratelimit
(
))
{
if
(
ieee80211_ratelimit_debug
(
IEEE80211_DL_DROP
))
{
IEEE80211_DEBUG_DROP
(
"TKIP: replay detected: STA=%s"
" previous TSC %08x%04x received TSC "
"%08x%04x
\n
"
,
print_mac
(
mac
,
hdr
->
addr2
),
...
...
@@ -504,7 +504,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
* it needs to be recalculated for the next packet. */
tkey
->
rx_phase1_done
=
0
;
}
if
(
net_ratelimit
(
))
{
if
(
ieee80211_ratelimit_debug
(
IEEE80211_DL_DROP
))
{
IEEE80211_DEBUG_DROP
(
"TKIP: ICV error detected: STA="
"%s
\n
"
,
print_mac
(
mac
,
hdr
->
addr2
));
}
...
...
net/mac80211/ieee80211.c
浏览文件 @
53438e5d
...
...
@@ -267,6 +267,17 @@ static int ieee80211_open(struct net_device *dev)
tasklet_enable
(
&
local
->
tasklet
);
}
/*
* set_multicast_list will be invoked by the networking core
* which will check whether any increments here were done in
* error and sync them down to the hardware as filter flags.
*/
if
(
sdata
->
flags
&
IEEE80211_SDATA_ALLMULTI
)
atomic_inc
(
&
local
->
iff_allmultis
);
if
(
sdata
->
flags
&
IEEE80211_SDATA_PROMISC
)
atomic_inc
(
&
local
->
iff_promiscs
);
local
->
open_count
++
;
netif_start_queue
(
dev
);
...
...
@@ -284,6 +295,18 @@ static int ieee80211_stop(struct net_device *dev)
netif_stop_queue
(
dev
);
/*
* Don't count this interface for promisc/allmulti while it
* is down. dev_mc_unsync() will invoke set_multicast_list
* on the master interface which will sync these down to the
* hardware as filter flags.
*/
if
(
sdata
->
flags
&
IEEE80211_SDATA_ALLMULTI
)
atomic_dec
(
&
local
->
iff_allmultis
);
if
(
sdata
->
flags
&
IEEE80211_SDATA_PROMISC
)
atomic_dec
(
&
local
->
iff_promiscs
);
dev_mc_unsync
(
local
->
mdev
,
dev
);
/* down all dependent devices, that is VLANs */
...
...
@@ -366,8 +389,8 @@ static void ieee80211_set_multicast_list(struct net_device *dev)
allmulti
=
!!
(
dev
->
flags
&
IFF_ALLMULTI
);
promisc
=
!!
(
dev
->
flags
&
IFF_PROMISC
);
sdata_allmulti
=
sdata
->
flags
&
IEEE80211_SDATA_ALLMULTI
;
sdata_promisc
=
sdata
->
flags
&
IEEE80211_SDATA_PROMISC
;
sdata_allmulti
=
!!
(
sdata
->
flags
&
IEEE80211_SDATA_ALLMULTI
)
;
sdata_promisc
=
!!
(
sdata
->
flags
&
IEEE80211_SDATA_PROMISC
)
;
if
(
allmulti
!=
sdata_allmulti
)
{
if
(
dev
->
flags
&
IFF_ALLMULTI
)
...
...
net/mac80211/ieee80211_sta.c
浏览文件 @
53438e5d
...
...
@@ -2647,7 +2647,7 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw)
local
->
sta_scanning
=
0
;
if
(
ieee80211_hw_config
(
local
))
printk
(
KERN_DEBUG
"%s: failed to restore operational"
printk
(
KERN_DEBUG
"%s: failed to restore operational
"
"channel after scan
\n
"
,
dev
->
name
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录