forked from luck/tmp_suning_uos_patched
target/iscsi: Use ISCSI_LOGIN_CURRENT/NEXT_STAGE macros
Fix bit-clearing in login_rsp->flags for case 0. Signed-off-by: Andy Grover <agrover@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
98e2eeb31e
commit
5d358065da
|
@ -200,8 +200,8 @@ static int iscsi_target_check_login_request(
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
req_csg = (login_req->flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2;
|
req_csg = ISCSI_LOGIN_CURRENT_STAGE(login_req->flags);
|
||||||
req_nsg = (login_req->flags & ISCSI_FLAG_LOGIN_NEXT_STAGE_MASK);
|
req_nsg = ISCSI_LOGIN_NEXT_STAGE(login_req->flags);
|
||||||
|
|
||||||
if (req_csg != login->current_stage) {
|
if (req_csg != login->current_stage) {
|
||||||
pr_err("Initiator unexpectedly changed login stage"
|
pr_err("Initiator unexpectedly changed login stage"
|
||||||
|
@ -681,9 +681,9 @@ static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *lo
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ((login_req->flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2) {
|
switch (ISCSI_LOGIN_CURRENT_STAGE(login_req->flags)) {
|
||||||
case 0:
|
case 0:
|
||||||
login_rsp->flags |= (0 & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK);
|
login_rsp->flags &= ~ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK;
|
||||||
if (iscsi_target_handle_csg_zero(conn, login) < 0)
|
if (iscsi_target_handle_csg_zero(conn, login) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
|
@ -702,8 +702,7 @@ static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *lo
|
||||||
default:
|
default:
|
||||||
pr_err("Illegal CSG: %d received from"
|
pr_err("Illegal CSG: %d received from"
|
||||||
" Initiator, protocol error.\n",
|
" Initiator, protocol error.\n",
|
||||||
(login_req->flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK)
|
ISCSI_LOGIN_CURRENT_STAGE(login_req->flags));
|
||||||
>> 2);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -755,8 +754,7 @@ static int iscsi_target_locate_portal(
|
||||||
|
|
||||||
login->first_request = 1;
|
login->first_request = 1;
|
||||||
login->leading_connection = (!login_req->tsih) ? 1 : 0;
|
login->leading_connection = (!login_req->tsih) ? 1 : 0;
|
||||||
login->current_stage =
|
login->current_stage = ISCSI_LOGIN_CURRENT_STAGE(login_req->flags);
|
||||||
(login_req->flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2;
|
|
||||||
login->version_min = login_req->min_version;
|
login->version_min = login_req->min_version;
|
||||||
login->version_max = login_req->max_version;
|
login->version_max = login_req->max_version;
|
||||||
memcpy(login->isid, login_req->isid, 6);
|
memcpy(login->isid, login_req->isid, 6);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user