Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+24 -8
+10
MAINTAINERS
··· 4448 4448 F: drivers/scsi/*iscsi* 4449 4449 F: include/scsi/*iscsi* 4450 4450 4451 + ISCSI EXTENSIONS FOR RDMA (ISER) INITIATOR 4452 + M: Or Gerlitz <ogerlitz@mellanox.com> 4453 + M: Roi Dayan <roid@mellanox.com> 4454 + L: linux-rdma@vger.kernel.org 4455 + S: Supported 4456 + W: http://www.openfabrics.org 4457 + W: www.open-iscsi.org 4458 + Q: http://patchwork.kernel.org/project/linux-rdma/list/ 4459 + F: drivers/infiniband/ulp/iser 4460 + 4451 4461 ISDN SUBSYSTEM 4452 4462 M: Karsten Keil <isdn@linux-pingi.de> 4453 4463 L: isdn4linux@listserv.isdn4linux.de (subscribers-only)
+1 -1
drivers/infiniband/hw/qib/qib_keys.c
··· 61 61 if (dma_region) { 62 62 struct qib_mregion *tmr; 63 63 64 - tmr = rcu_dereference(dev->dma_mr); 64 + tmr = rcu_access_pointer(dev->dma_mr); 65 65 if (!tmr) { 66 66 qib_get_mr(mr); 67 67 rcu_assign_pointer(dev->dma_mr, mr);
+1
drivers/infiniband/ulp/iser/iscsi_iser.c
··· 5 5 * Copyright (C) 2004 Alex Aizman 6 6 * Copyright (C) 2005 Mike Christie 7 7 * Copyright (c) 2005, 2006 Voltaire, Inc. All rights reserved. 8 + * Copyright (c) 2013 Mellanox Technologies. All rights reserved. 8 9 * maintained by openib-general@openib.org 9 10 * 10 11 * This software is available to you under a choice of one of two
+1
drivers/infiniband/ulp/iser/iscsi_iser.h
··· 8 8 * 9 9 * Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved. 10 10 * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved. 11 + * Copyright (c) 2013 Mellanox Technologies. All rights reserved. 11 12 * 12 13 * This software is available to you under a choice of one of two 13 14 * licenses. You may choose to be licensed under the terms of the GNU
+1
drivers/infiniband/ulp/iser/iser_initiator.c
··· 1 1 /* 2 2 * Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved. 3 + * Copyright (c) 2013 Mellanox Technologies. All rights reserved. 3 4 * 4 5 * This software is available to you under a choice of one of two 5 6 * licenses. You may choose to be licensed under the terms of the GNU
+1
drivers/infiniband/ulp/iser/iser_memory.c
··· 1 1 /* 2 2 * Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved. 3 + * Copyright (c) 2013 Mellanox Technologies. All rights reserved. 3 4 * 4 5 * This software is available to you under a choice of one of two 5 6 * licenses. You may choose to be licensed under the terms of the GNU
+9 -7
drivers/infiniband/ulp/iser/iser_verbs.c
··· 1 1 /* 2 2 * Copyright (c) 2004, 2005, 2006 Voltaire, Inc. All rights reserved. 3 3 * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved. 4 + * Copyright (c) 2013 Mellanox Technologies. All rights reserved. 4 5 * 5 6 * This software is available to you under a choice of one of two 6 7 * licenses. You may choose to be licensed under the terms of the GNU ··· 293 292 } 294 293 295 294 /** 296 - * releases the FMR pool, QP and CMA ID objects, returns 0 on success, 295 + * releases the FMR pool and QP objects, returns 0 on success, 297 296 * -1 on failure 298 297 */ 299 - static int iser_free_ib_conn_res(struct iser_conn *ib_conn, int can_destroy_id) 298 + static int iser_free_ib_conn_res(struct iser_conn *ib_conn) 300 299 { 301 300 int cq_index; 302 301 BUG_ON(ib_conn == NULL); ··· 315 314 316 315 rdma_destroy_qp(ib_conn->cma_id); 317 316 } 318 - /* if cma handler context, the caller acts s.t the cma destroy the id */ 319 - if (ib_conn->cma_id != NULL && can_destroy_id) 320 - rdma_destroy_id(ib_conn->cma_id); 321 317 322 318 ib_conn->fmr_pool = NULL; 323 319 ib_conn->qp = NULL; 324 - ib_conn->cma_id = NULL; 325 320 kfree(ib_conn->page_vec); 326 321 327 322 if (ib_conn->login_buf) { ··· 412 415 list_del(&ib_conn->conn_list); 413 416 mutex_unlock(&ig.connlist_mutex); 414 417 iser_free_rx_descriptors(ib_conn); 415 - iser_free_ib_conn_res(ib_conn, can_destroy_id); 418 + iser_free_ib_conn_res(ib_conn); 416 419 ib_conn->device = NULL; 417 420 /* on EVENT_ADDR_ERROR there's no device yet for this conn */ 418 421 if (device != NULL) 419 422 iser_device_try_release(device); 423 + /* if cma handler context, the caller actually destroy the id */ 424 + if (ib_conn->cma_id != NULL && can_destroy_id) { 425 + rdma_destroy_id(ib_conn->cma_id); 426 + ib_conn->cma_id = NULL; 427 + } 420 428 iscsi_destroy_endpoint(ib_conn->ep); 421 429 } 422 430