summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/iser/iscsi_iser.h
diff options
context:
space:
mode:
authorOr Gerlitz2011-11-03 23:19:46 +0100
committerRoland Dreier2011-11-04 17:30:52 +0100
commit2c4ce609347f2a45792c8d9ebb5af11217766cb6 (patch)
treea78125a35d5a277d395003651b4241eafc7dd52d /drivers/infiniband/ulp/iser/iscsi_iser.h
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rol... (diff)
downloadkernel-qcow2-linux-2c4ce609347f2a45792c8d9ebb5af11217766cb6.tar.gz
kernel-qcow2-linux-2c4ce609347f2a45792c8d9ebb5af11217766cb6.tar.xz
kernel-qcow2-linux-2c4ce609347f2a45792c8d9ebb5af11217766cb6.zip
IB/iser: Use separate buffers for the login request/response
The driver counted on the transactional nature of iSCSI login/text flows and used the same buffer for both the request and the response. We also went further and did DMA mapping only once, with DMA_FROM_DEVICE, which violates the DMA mapping API. Fix that by using different buffers, one for requests and one for responses, and use the correct DMA mapping direction for each. Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/ulp/iser/iscsi_iser.h')
-rw-r--r--drivers/infiniband/ulp/iser/iscsi_iser.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.h b/drivers/infiniband/ulp/iser/iscsi_iser.h
index db6f3ce9f3bf..2982a14a0557 100644
--- a/drivers/infiniband/ulp/iser/iscsi_iser.h
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.h
@@ -257,7 +257,8 @@ struct iser_conn {
struct list_head conn_list; /* entry in ig conn list */
char *login_buf;
- u64 login_dma;
+ char *login_req_buf, *login_resp_buf;
+ u64 login_req_dma, login_resp_dma;
unsigned int rx_desc_head;
struct iser_rx_desc *rx_descs;
struct ib_recv_wr rx_wr[ISER_MIN_POSTED_RX];