Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
178709bb
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
178709bb
编写于
7月 02, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ipoib: Convert over to dev_lookup_neigh_skb().
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
dbedbe6d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
10 deletion
+16
-10
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_main.c
+3
-1
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+13
-9
未找到文件。
drivers/infiniband/ulp/ipoib/ipoib_main.c
浏览文件 @
178709bb
...
...
@@ -715,7 +715,7 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
rcu_read_lock
();
if
(
likely
(
skb_dst
(
skb
)))
{
n
=
dst_
get_neighbour_noref
(
skb_dst
(
skb
)
);
n
=
dst_
neigh_lookup_skb
(
skb_dst
(
skb
),
skb
);
if
(
!
n
)
{
++
dev
->
stats
.
tx_dropped
;
dev_kfree_skb_any
(
skb
);
...
...
@@ -797,6 +797,8 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
}
}
unlock:
if
(
n
)
neigh_release
(
n
);
rcu_read_unlock
();
return
NETDEV_TX_OK
;
}
...
...
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
浏览文件 @
178709bb
...
...
@@ -720,16 +720,20 @@ void ipoib_mcast_send(struct net_device *dev, void *mgid, struct sk_buff *skb)
rcu_read_lock
();
if
(
dst
)
n
=
dst_get_neighbour_noref
(
dst
);
if
(
n
&&
!*
to_ipoib_neigh
(
n
))
{
struct
ipoib_neigh
*
neigh
=
ipoib_neigh_alloc
(
n
,
skb
->
dev
);
if
(
neigh
)
{
kref_get
(
&
mcast
->
ah
->
ref
);
neigh
->
ah
=
mcast
->
ah
;
list_add_tail
(
&
neigh
->
list
,
&
mcast
->
neigh_list
);
n
=
dst_neigh_lookup_skb
(
dst
,
skb
);
if
(
n
)
{
if
(
!*
to_ipoib_neigh
(
n
))
{
struct
ipoib_neigh
*
neigh
;
neigh
=
ipoib_neigh_alloc
(
n
,
skb
->
dev
);
if
(
neigh
)
{
kref_get
(
&
mcast
->
ah
->
ref
);
neigh
->
ah
=
mcast
->
ah
;
list_add_tail
(
&
neigh
->
list
,
&
mcast
->
neigh_list
);
}
}
neigh_release
(
n
);
}
rcu_read_unlock
();
spin_unlock_irqrestore
(
&
priv
->
lock
,
flags
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录