diff options
author | Or Gerlitz | 2011-11-03 23:19:46 +0100 |
---|---|---|
committer | Roland Dreier | 2011-11-04 17:30:52 +0100 |
commit | 2c4ce609347f2a45792c8d9ebb5af11217766cb6 (patch) | |
tree | a78125a35d5a277d395003651b4241eafc7dd52d /drivers/infiniband/ulp/iser/iscsi_iser.h | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rol... (diff) | |
download | kernel-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.h | 3 |
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]; |