diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2013-02-21 14:50:10 +0000 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-02-22 00:22:30 -0800 |
commit | 5525d210fd55952262f30ba45b2acceb4a6a50e9 (patch) | |
tree | 858e10e755213533151c142e919d25a4aac3f0b5 /drivers/infiniband/ulp/iser/iser_verbs.c | |
parent | 819a087316a63ef7d60e7b816d18c4e29a05861a (diff) | |
download | op-kernel-dev-5525d210fd55952262f30ba45b2acceb4a6a50e9.zip op-kernel-dev-5525d210fd55952262f30ba45b2acceb4a6a50e9.tar.gz |
IB/iser: Enable iser when FMRs are not supported
Reuse the "SG unaligned for FMR" driver flow to make the initiator
functional when running over driver instance which doesn't support
FMRs, such as a mlx4 virtual function.
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Alex Tabachnik <alext@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/ulp/iser/iser_verbs.c')
-rw-r--r-- | drivers/infiniband/ulp/iser/iser_verbs.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c index 95a49af..4debadc 100644 --- a/drivers/infiniband/ulp/iser/iser_verbs.c +++ b/drivers/infiniband/ulp/iser/iser_verbs.c @@ -242,10 +242,14 @@ static int iser_create_ib_conn_res(struct iser_conn *ib_conn) IB_ACCESS_REMOTE_READ); ib_conn->fmr_pool = ib_create_fmr_pool(device->pd, ¶ms); - if (IS_ERR(ib_conn->fmr_pool)) { - ret = PTR_ERR(ib_conn->fmr_pool); + ret = PTR_ERR(ib_conn->fmr_pool); + if (IS_ERR(ib_conn->fmr_pool) && ret != -ENOSYS) { ib_conn->fmr_pool = NULL; goto out_err; + } else if (ret == -ENOSYS) { + ib_conn->fmr_pool = NULL; + iser_warn("FMRs are not supported, using unaligned mode\n"); + ret = 0; } memset(&init_attr, 0, sizeof init_attr); |