Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
cbdba97a
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看板
提交
cbdba97a
编写于
2月 05, 2013
作者:
R
Roland Dreier
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'ipoib', 'mlx4' and 'qib' into for-next
上级
7e5a90c2
f97b4b5d
d359f354
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
4 addition
and
9 deletion
+4
-9
drivers/infiniband/hw/qib/qib_qp.c
drivers/infiniband/hw/qib/qib_qp.c
+3
-8
drivers/net/ethernet/mellanox/mlx4/main.c
drivers/net/ethernet/mellanox/mlx4/main.c
+1
-1
未找到文件。
drivers/infiniband/hw/qib/qib_qp.c
浏览文件 @
cbdba97a
...
@@ -263,20 +263,15 @@ static void remove_qp(struct qib_ibdev *dev, struct qib_qp *qp)
...
@@ -263,20 +263,15 @@ static void remove_qp(struct qib_ibdev *dev, struct qib_qp *qp)
struct
qib_qp
__rcu
**
qpp
;
struct
qib_qp
__rcu
**
qpp
;
qpp
=
&
dev
->
qp_table
[
n
];
qpp
=
&
dev
->
qp_table
[
n
];
q
=
rcu_dereference_protected
(
*
qpp
,
for
(;
(
q
=
rcu_dereference_protected
(
*
qpp
,
lockdep_is_held
(
&
dev
->
qpt_lock
))
;
lockdep_is_held
(
&
dev
->
qpt_lock
)))
!=
NULL
;
for
(;
q
;
qpp
=
&
q
->
next
)
{
qpp
=
&
q
->
next
)
if
(
q
==
qp
)
{
if
(
q
==
qp
)
{
atomic_dec
(
&
qp
->
refcount
);
atomic_dec
(
&
qp
->
refcount
);
*
qpp
=
qp
->
next
;
*
qpp
=
qp
->
next
;
rcu_assign_pointer
(
qp
->
next
,
NULL
);
rcu_assign_pointer
(
qp
->
next
,
NULL
);
q
=
rcu_dereference_protected
(
*
qpp
,
lockdep_is_held
(
&
dev
->
qpt_lock
));
break
;
break
;
}
}
q
=
rcu_dereference_protected
(
*
qpp
,
lockdep_is_held
(
&
dev
->
qpt_lock
));
}
}
}
spin_unlock_irqrestore
(
&
dev
->
qpt_lock
,
flags
);
spin_unlock_irqrestore
(
&
dev
->
qpt_lock
,
flags
);
...
...
drivers/net/ethernet/mellanox/mlx4/main.c
浏览文件 @
cbdba97a
...
@@ -380,7 +380,7 @@ static int mlx4_dev_cap(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
...
@@ -380,7 +380,7 @@ static int mlx4_dev_cap(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
}
}
}
}
if
((
dev
_cap
->
flags
&
if
((
dev
->
caps
.
flags
&
(
MLX4_DEV_CAP_FLAG_64B_CQE
|
MLX4_DEV_CAP_FLAG_64B_EQE
))
&&
(
MLX4_DEV_CAP_FLAG_64B_CQE
|
MLX4_DEV_CAP_FLAG_64B_EQE
))
&&
mlx4_is_master
(
dev
))
mlx4_is_master
(
dev
))
dev
->
caps
.
function_caps
|=
MLX4_FUNC_CAP_64B_EQE_CQE
;
dev
->
caps
.
function_caps
|=
MLX4_FUNC_CAP_64B_EQE_CQE
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录