diff options
author | Erez Zilber <erezz@voltaire.com> | 2006-09-27 08:27:10 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-09-28 13:53:16 -0400 |
commit | 87e8df7a273c7c1acb864c90b5253609c44375a6 (patch) | |
tree | e1de2523387f416a67570122c2632ca3be80aafd /drivers/infiniband/ulp/iser/iscsi_iser.c | |
parent | ee30cb5b0b65392843cc3beaba48160ee4a3764e (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.c | 2 |
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 | ||