diff options
-rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.c | 2 | ||||
-rw-r--r-- | drivers/target/iscsi/iscsi_target.c | 14 | ||||
-rw-r--r-- | include/target/iscsi/iscsi_transport.h | 3 |
3 files changed, 13 insertions, 6 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index 647a5e2beee4..ba619fa84662 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c | |||
@@ -2318,7 +2318,7 @@ isert_put_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn) | |||
2318 | int rc; | 2318 | int rc; |
2319 | 2319 | ||
2320 | isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); | 2320 | isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); |
2321 | rc = iscsit_build_text_rsp(cmd, conn, hdr); | 2321 | rc = iscsit_build_text_rsp(cmd, conn, hdr, ISCSI_INFINIBAND); |
2322 | if (rc < 0) | 2322 | if (rc < 0) |
2323 | return rc; | 2323 | return rc; |
2324 | 2324 | ||
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index e0d98344e4bd..b87721a01b74 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c | |||
@@ -3389,7 +3389,9 @@ static bool iscsit_check_inaddr_any(struct iscsi_np *np) | |||
3389 | 3389 | ||
3390 | #define SENDTARGETS_BUF_LIMIT 32768U | 3390 | #define SENDTARGETS_BUF_LIMIT 32768U |
3391 | 3391 | ||
3392 | static int iscsit_build_sendtargets_response(struct iscsi_cmd *cmd) | 3392 | static int |
3393 | iscsit_build_sendtargets_response(struct iscsi_cmd *cmd, | ||
3394 | enum iscsit_transport_type network_transport) | ||
3393 | { | 3395 | { |
3394 | char *payload = NULL; | 3396 | char *payload = NULL; |
3395 | struct iscsi_conn *conn = cmd->conn; | 3397 | struct iscsi_conn *conn = cmd->conn; |
@@ -3466,6 +3468,9 @@ static int iscsit_build_sendtargets_response(struct iscsi_cmd *cmd) | |||
3466 | struct iscsi_np *np = tpg_np->tpg_np; | 3468 | struct iscsi_np *np = tpg_np->tpg_np; |
3467 | bool inaddr_any = iscsit_check_inaddr_any(np); | 3469 | bool inaddr_any = iscsit_check_inaddr_any(np); |
3468 | 3470 | ||
3471 | if (np->np_network_transport != network_transport) | ||
3472 | continue; | ||
3473 | |||
3469 | if (!target_name_printed) { | 3474 | if (!target_name_printed) { |
3470 | len = sprintf(buf, "TargetName=%s", | 3475 | len = sprintf(buf, "TargetName=%s", |
3471 | tiqn->tiqn); | 3476 | tiqn->tiqn); |
@@ -3517,11 +3522,12 @@ eob: | |||
3517 | 3522 | ||
3518 | int | 3523 | int |
3519 | iscsit_build_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn, | 3524 | iscsit_build_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn, |
3520 | struct iscsi_text_rsp *hdr) | 3525 | struct iscsi_text_rsp *hdr, |
3526 | enum iscsit_transport_type network_transport) | ||
3521 | { | 3527 | { |
3522 | int text_length, padding; | 3528 | int text_length, padding; |
3523 | 3529 | ||
3524 | text_length = iscsit_build_sendtargets_response(cmd); | 3530 | text_length = iscsit_build_sendtargets_response(cmd, network_transport); |
3525 | if (text_length < 0) | 3531 | if (text_length < 0) |
3526 | return text_length; | 3532 | return text_length; |
3527 | 3533 | ||
@@ -3559,7 +3565,7 @@ static int iscsit_send_text_rsp( | |||
3559 | u32 tx_size = 0; | 3565 | u32 tx_size = 0; |
3560 | int text_length, iov_count = 0, rc; | 3566 | int text_length, iov_count = 0, rc; |
3561 | 3567 | ||
3562 | rc = iscsit_build_text_rsp(cmd, conn, hdr); | 3568 | rc = iscsit_build_text_rsp(cmd, conn, hdr, ISCSI_TCP); |
3563 | if (rc < 0) | 3569 | if (rc < 0) |
3564 | return rc; | 3570 | return rc; |
3565 | 3571 | ||
diff --git a/include/target/iscsi/iscsi_transport.h b/include/target/iscsi/iscsi_transport.h index 33b487b5da92..daef9daa500c 100644 --- a/include/target/iscsi/iscsi_transport.h +++ b/include/target/iscsi/iscsi_transport.h | |||
@@ -70,7 +70,8 @@ extern void iscsit_build_nopin_rsp(struct iscsi_cmd *, struct iscsi_conn *, | |||
70 | extern void iscsit_build_task_mgt_rsp(struct iscsi_cmd *, struct iscsi_conn *, | 70 | extern void iscsit_build_task_mgt_rsp(struct iscsi_cmd *, struct iscsi_conn *, |
71 | struct iscsi_tm_rsp *); | 71 | struct iscsi_tm_rsp *); |
72 | extern int iscsit_build_text_rsp(struct iscsi_cmd *, struct iscsi_conn *, | 72 | extern int iscsit_build_text_rsp(struct iscsi_cmd *, struct iscsi_conn *, |
73 | struct iscsi_text_rsp *); | 73 | struct iscsi_text_rsp *, |
74 | enum iscsit_transport_type); | ||
74 | extern void iscsit_build_reject(struct iscsi_cmd *, struct iscsi_conn *, | 75 | extern void iscsit_build_reject(struct iscsi_cmd *, struct iscsi_conn *, |
75 | struct iscsi_reject *); | 76 | struct iscsi_reject *); |
76 | extern int iscsit_build_logout_rsp(struct iscsi_cmd *, struct iscsi_conn *, | 77 | extern int iscsit_build_logout_rsp(struct iscsi_cmd *, struct iscsi_conn *, |