InfiniBand fixes for 3.10-rc:
- qib RCU/lockdep fix - iser device removal fix, plus doc fixes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABCAAGBQJRsl5KAAoJEENa44ZhAt0h/xsQAJGDJ/svjsm05ual0pj8G7Sy +f2vk8tz0Pg5BLkuBD1g+LVB/48Lcy4QNSruN4pBD43ZE5dli4RqqKub3Q0OsOEr 8q84RP+iV/8028G98vlypcaGWWQcbmYZvZ69W0+mdpbz1eRSWKqldW++eDhMmy0k 9wG+2sPmX3kT6wUVyAySXD/P+RIlyzvfJXWNl8uPl4knOsNRNcU4xuxnSD0Q4lG9 B+/38Q6p3QdcnCdGNokUpQFFSzW4Sl751SxS1Lcu9GiUl4x0r9Q1qoLWzia9g9hN 2/5sTfJjtqj01grsskw19TfTIKiJjXi3HvbTb1M4fHIdCHHMYdvcdr+rfxvtS3uO IypW6iLQFFmywTdM9FnEQftdVUyOHQq+082x7yDvGDL1GJzDr/lclvEpBjgfIbfv k444YGggxrZ3TQGS6JzwBlVdtR8D7qYZL9T7WnAVOuMUCJdiA3xHDZDvejZ57FJa 33MOo1JUQ+EQdeElL5HxzgPStuJRot4k0hIE7iA8TGv3p8iGmv5xEj7VOUXlYNki l/uPzRSBAAuxUw2fpZGwC78BCzkSya+WZYwxYuNrGgn1t+3N0m6uuoS82GklW1aS ZBbW+Y4bBNC8UN7CbxLB8Ko7IDIHdaugHhRd7ImRoaPWGhNtS0aKZNYTUEckuraK wnWxfAzJlBaiah/KXCWG =u8Fo -----END PGP SIGNATURE----- Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband fixes from Roland Dreier: - qib RCU/lockdep fix - iser device removal fix, plus doc fixes * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/qib: Fix lockdep splat in qib_alloc_lkey() MAINTAINERS: Add entry for iSCSI Extensions for RDMA (iSER) initiator IB/iser: Add Mellanox copyright IB/iser: Fix device removal flow
This commit is contained in:
commit
e8193ce572
7 changed files with 24 additions and 8 deletions
10
MAINTAINERS
10
MAINTAINERS
|
@ -4448,6 +4448,16 @@ S: Maintained
|
|||
F: drivers/scsi/*iscsi*
|
||||
F: include/scsi/*iscsi*
|
||||
|
||||
ISCSI EXTENSIONS FOR RDMA (ISER) INITIATOR
|
||||
M: Or Gerlitz <ogerlitz@mellanox.com>
|
||||
M: Roi Dayan <roid@mellanox.com>
|
||||
L: linux-rdma@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://www.openfabrics.org
|
||||
W: www.open-iscsi.org
|
||||
Q: http://patchwork.kernel.org/project/linux-rdma/list/
|
||||
F: drivers/infiniband/ulp/iser
|
||||
|
||||
ISDN SUBSYSTEM
|
||||
M: Karsten Keil <isdn@linux-pingi.de>
|
||||
L: isdn4linux@listserv.isdn4linux.de (subscribers-only)
|
||||
|
|
|
@ -61,7 +61,7 @@ int qib_alloc_lkey(struct qib_mregion *mr, int dma_region)
|
|||
if (dma_region) {
|
||||
struct qib_mregion *tmr;
|
||||
|
||||
tmr = rcu_dereference(dev->dma_mr);
|
||||
tmr = rcu_access_pointer(dev->dma_mr);
|
||||
if (!tmr) {
|
||||
qib_get_mr(mr);
|
||||
rcu_assign_pointer(dev->dma_mr, mr);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
* Copyright (C) 2004 Alex Aizman
|
||||
* Copyright (C) 2005 Mike Christie
|
||||
* Copyright (c) 2005, 2006 Voltaire, Inc. All rights reserved.
|
||||
* Copyright (c) 2013 Mellanox Technologies. All rights reserved.
|
||||
* maintained by openib-general@openib.org
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
*
|
||||
* Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved.
|
||||
* Copyright (c) 2005, 2006 Cisco Systems. All rights reserved.
|
||||
* Copyright (c) 2013 Mellanox Technologies. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved.
|
||||
* Copyright (c) 2013 Mellanox Technologies. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved.
|
||||
* Copyright (c) 2013 Mellanox Technologies. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/*
|
||||
* Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved.
|
||||
* Copyright (c) 2005, 2006 Cisco Systems. All rights reserved.
|
||||
* Copyright (c) 2013 Mellanox Technologies. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
|
@ -292,10 +293,10 @@ static int iser_create_ib_conn_res(struct iser_conn *ib_conn)
|
|||
}
|
||||
|
||||
/**
|
||||
* releases the FMR pool, QP and CMA ID objects, returns 0 on success,
|
||||
* releases the FMR pool and QP objects, returns 0 on success,
|
||||
* -1 on failure
|
||||
*/
|
||||
static int iser_free_ib_conn_res(struct iser_conn *ib_conn, int can_destroy_id)
|
||||
static int iser_free_ib_conn_res(struct iser_conn *ib_conn)
|
||||
{
|
||||
int cq_index;
|
||||
BUG_ON(ib_conn == NULL);
|
||||
|
@ -314,13 +315,9 @@ static int iser_free_ib_conn_res(struct iser_conn *ib_conn, int can_destroy_id)
|
|||
|
||||
rdma_destroy_qp(ib_conn->cma_id);
|
||||
}
|
||||
/* if cma handler context, the caller acts s.t the cma destroy the id */
|
||||
if (ib_conn->cma_id != NULL && can_destroy_id)
|
||||
rdma_destroy_id(ib_conn->cma_id);
|
||||
|
||||
ib_conn->fmr_pool = NULL;
|
||||
ib_conn->qp = NULL;
|
||||
ib_conn->cma_id = NULL;
|
||||
kfree(ib_conn->page_vec);
|
||||
|
||||
if (ib_conn->login_buf) {
|
||||
|
@ -415,11 +412,16 @@ static void iser_conn_release(struct iser_conn *ib_conn, int can_destroy_id)
|
|||
list_del(&ib_conn->conn_list);
|
||||
mutex_unlock(&ig.connlist_mutex);
|
||||
iser_free_rx_descriptors(ib_conn);
|
||||
iser_free_ib_conn_res(ib_conn, can_destroy_id);
|
||||
iser_free_ib_conn_res(ib_conn);
|
||||
ib_conn->device = NULL;
|
||||
/* on EVENT_ADDR_ERROR there's no device yet for this conn */
|
||||
if (device != NULL)
|
||||
iser_device_try_release(device);
|
||||
/* if cma handler context, the caller actually destroy the id */
|
||||
if (ib_conn->cma_id != NULL && can_destroy_id) {
|
||||
rdma_destroy_id(ib_conn->cma_id);
|
||||
ib_conn->cma_id = NULL;
|
||||
}
|
||||
iscsi_destroy_endpoint(ib_conn->ep);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue