Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
81c2bdb6
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
81c2bdb6
编写于
1月 30, 2011
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'batman-adv/merge-oopsonly' of
git://git.open-mesh.org/ecsv/linux-merge
上级
709b46e8
1181e1da
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
6 deletion
+8
-6
net/batman-adv/vis.c
net/batman-adv/vis.c
+8
-6
未找到文件。
net/batman-adv/vis.c
浏览文件 @
81c2bdb6
...
...
@@ -64,6 +64,7 @@ static void free_info(struct kref *ref)
spin_unlock_bh
(
&
bat_priv
->
vis_list_lock
);
kfree_skb
(
info
->
skb_packet
);
kfree
(
info
);
}
/* Compare two vis packets, used by the hashing algorithm */
...
...
@@ -268,10 +269,10 @@ int vis_seq_print_text(struct seq_file *seq, void *offset)
buff_pos
+=
sprintf
(
buff
+
buff_pos
,
"%pM,"
,
entry
->
addr
);
for
(
i
=
0
;
i
<
packet
->
entries
;
i
++
)
for
(
j
=
0
;
j
<
packet
->
entries
;
j
++
)
buff_pos
+=
vis_data_read_entry
(
buff
+
buff_pos
,
&
entries
[
i
],
&
entries
[
j
],
entry
->
addr
,
entry
->
primary
);
...
...
@@ -444,7 +445,7 @@ static struct vis_info *add_packet(struct bat_priv *bat_priv,
info
);
if
(
hash_added
<
0
)
{
/* did not work (for some reason) */
kref_put
(
&
old_
info
->
refcount
,
free_info
);
kref_put
(
&
info
->
refcount
,
free_info
);
info
=
NULL
;
}
...
...
@@ -815,7 +816,7 @@ static void send_vis_packets(struct work_struct *work)
container_of
(
work
,
struct
delayed_work
,
work
);
struct
bat_priv
*
bat_priv
=
container_of
(
delayed_work
,
struct
bat_priv
,
vis_work
);
struct
vis_info
*
info
,
*
temp
;
struct
vis_info
*
info
;
spin_lock_bh
(
&
bat_priv
->
vis_hash_lock
);
purge_vis_packets
(
bat_priv
);
...
...
@@ -825,8 +826,9 @@ static void send_vis_packets(struct work_struct *work)
send_list_add
(
bat_priv
,
bat_priv
->
my_vis_info
);
}
list_for_each_entry_safe
(
info
,
temp
,
&
bat_priv
->
vis_send_list
,
send_list
)
{
while
(
!
list_empty
(
&
bat_priv
->
vis_send_list
))
{
info
=
list_first_entry
(
&
bat_priv
->
vis_send_list
,
typeof
(
*
info
),
send_list
);
kref_get
(
&
info
->
refcount
);
spin_unlock_bh
(
&
bat_priv
->
vis_hash_lock
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录