OSDN Git Service

iscsi,iser-target: Expose supported protection ops according to t10_pi
[android-x86/kernel.git] / drivers / target / iscsi / iscsi_target_login.c
index 05ad5c7..18e2601 100644 (file)
@@ -281,7 +281,6 @@ static int iscsi_login_zero_tsih_s1(
 {
        struct iscsi_session *sess = NULL;
        struct iscsi_login_req *pdu = (struct iscsi_login_req *)buf;
-       enum target_prot_op sup_pro_ops;
        int ret;
 
        sess = kzalloc(sizeof(struct iscsi_session), GFP_KERNEL);
@@ -343,9 +342,8 @@ static int iscsi_login_zero_tsih_s1(
                kfree(sess);
                return -ENOMEM;
        }
-       sup_pro_ops = conn->conn_transport->iscsit_get_sup_prot_ops(conn);
 
-       sess->se_sess = transport_init_session(sup_pro_ops);
+       sess->se_sess = transport_init_session(TARGET_PROT_NORMAL);
        if (IS_ERR(sess->se_sess)) {
                iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR,
                                ISCSI_LOGIN_STATUS_NO_RESOURCES);
@@ -1367,6 +1365,9 @@ static int __iscsi_target_login_thread(struct iscsi_np *np)
        }
        login->zero_tsih = zero_tsih;
 
+       conn->sess->se_sess->sup_prot_ops =
+               conn->conn_transport->iscsit_get_sup_prot_ops(conn);
+
        tpg = conn->tpg;
        if (!tpg) {
                pr_err("Unable to locate struct iscsi_conn->tpg\n");