aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/iser/iscsi_iser.c
diff options
context:
space:
mode:
authorErez Zilber <erezz@voltaire.com>2006-09-27 08:27:10 -0400
committerRoland Dreier <rolandd@cisco.com>2006-09-28 13:53:16 -0400
commit87e8df7a273c7c1acb864c90b5253609c44375a6 (patch)
treee1de2523387f416a67570122c2632ca3be80aafd /drivers/infiniband/ulp/iser/iscsi_iser.c
parentee30cb5b0b65392843cc3beaba48160ee4a3764e (diff)
IB/iser: Have iSER data transaction object point to iSER conn
iSER uses a data transaction object (struct iser_dto) as part of its IB data descriptors (struct iser_desc) management. It also uses a hierarchy of connection structures pointing to each other. A DTO may exist even after the iscsi_iser connection pointed by it is destroyed (eg one that is bound to a post receive buffer which was flushed by the IB HW). Hence DTOs need point to the lowest connection, which is struct iser_conn. Signed-off-by: Erez Zilber <erezz@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/ulp/iser/iscsi_iser.c')
-rw-r--r--drivers/infiniband/ulp/iser/iscsi_iser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
index 2a14fe2e322..eb6f98d8228 100644
--- a/drivers/infiniband/ulp/iser/iscsi_iser.c
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
@@ -317,6 +317,8 @@ iscsi_iser_conn_destroy(struct iscsi_cls_conn *cls_conn)
317 struct iscsi_iser_conn *iser_conn = conn->dd_data; 317 struct iscsi_iser_conn *iser_conn = conn->dd_data;
318 318
319 iscsi_conn_teardown(cls_conn); 319 iscsi_conn_teardown(cls_conn);
320 if (iser_conn->ib_conn)
321 iser_conn->ib_conn->iser_conn = NULL;
320 kfree(iser_conn); 322 kfree(iser_conn);
321} 323}
322 324