Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
56c5333c
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
56c5333c
编写于
7月 16, 2014
作者:
R
Roland Dreier
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'cxgb4' and 'mlx5' into for-next
上级
46c1376d
652c1a05
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
5 deletion
+16
-5
drivers/infiniband/hw/mlx5/qp.c
drivers/infiniband/hw/mlx5/qp.c
+1
-1
drivers/net/ethernet/mellanox/mlx5/core/mr.c
drivers/net/ethernet/mellanox/mlx5/core/mr.c
+15
-4
未找到文件。
drivers/infiniband/hw/mlx5/qp.c
浏览文件 @
56c5333c
...
...
@@ -675,7 +675,7 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
int
err
;
uuari
=
&
dev
->
mdev
.
priv
.
uuari
;
if
(
init_attr
->
create_flags
&
~
IB_QP_CREATE_SIGNATURE_EN
)
if
(
init_attr
->
create_flags
&
~
(
IB_QP_CREATE_SIGNATURE_EN
|
IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK
)
)
return
-
EINVAL
;
if
(
init_attr
->
qp_type
==
MLX5_IB_QPT_REG_UMR
)
...
...
drivers/net/ethernet/mellanox/mlx5/core/mr.c
浏览文件 @
56c5333c
...
...
@@ -94,6 +94,11 @@ int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
write_lock_irq
(
&
table
->
lock
);
err
=
radix_tree_insert
(
&
table
->
tree
,
mlx5_base_mkey
(
mr
->
key
),
mr
);
write_unlock_irq
(
&
table
->
lock
);
if
(
err
)
{
mlx5_core_warn
(
dev
,
"failed radix tree insert of mr 0x%x, %d
\n
"
,
mlx5_base_mkey
(
mr
->
key
),
err
);
mlx5_core_destroy_mkey
(
dev
,
mr
);
}
return
err
;
}
...
...
@@ -104,12 +109,22 @@ int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr)
struct
mlx5_mr_table
*
table
=
&
dev
->
priv
.
mr_table
;
struct
mlx5_destroy_mkey_mbox_in
in
;
struct
mlx5_destroy_mkey_mbox_out
out
;
struct
mlx5_core_mr
*
deleted_mr
;
unsigned
long
flags
;
int
err
;
memset
(
&
in
,
0
,
sizeof
(
in
));
memset
(
&
out
,
0
,
sizeof
(
out
));
write_lock_irqsave
(
&
table
->
lock
,
flags
);
deleted_mr
=
radix_tree_delete
(
&
table
->
tree
,
mlx5_base_mkey
(
mr
->
key
));
write_unlock_irqrestore
(
&
table
->
lock
,
flags
);
if
(
!
deleted_mr
)
{
mlx5_core_warn
(
dev
,
"failed radix tree delete of mr 0x%x
\n
"
,
mlx5_base_mkey
(
mr
->
key
));
return
-
ENOENT
;
}
in
.
hdr
.
opcode
=
cpu_to_be16
(
MLX5_CMD_OP_DESTROY_MKEY
);
in
.
mkey
=
cpu_to_be32
(
mlx5_mkey_to_idx
(
mr
->
key
));
err
=
mlx5_cmd_exec
(
dev
,
&
in
,
sizeof
(
in
),
&
out
,
sizeof
(
out
));
...
...
@@ -119,10 +134,6 @@ int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr)
if
(
out
.
hdr
.
status
)
return
mlx5_cmd_status_to_err
(
&
out
.
hdr
);
write_lock_irqsave
(
&
table
->
lock
,
flags
);
radix_tree_delete
(
&
table
->
tree
,
mlx5_base_mkey
(
mr
->
key
));
write_unlock_irqrestore
(
&
table
->
lock
,
flags
);
return
err
;
}
EXPORT_SYMBOL
(
mlx5_core_destroy_mkey
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录