diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/target/iscsi/iscsi_target.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index 048d4227327c..3b7bb589d301 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c @@ -2094,12 +2094,14 @@ attach:  	if (!(hdr->opcode & ISCSI_OP_IMMEDIATE)) {  		int cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); -		if (cmdsn_ret == CMDSN_HIGHER_THAN_EXP) +		if (cmdsn_ret == CMDSN_HIGHER_THAN_EXP) {  			out_of_order_cmdsn = 1; -		else if (cmdsn_ret == CMDSN_LOWER_THAN_EXP) +		} else if (cmdsn_ret == CMDSN_LOWER_THAN_EXP) { +			target_put_sess_cmd(&cmd->se_cmd);  			return 0; -		else if (cmdsn_ret == CMDSN_ERROR_CANNOT_RECOVER) +		} else if (cmdsn_ret == CMDSN_ERROR_CANNOT_RECOVER) {  			return -1; +		}  	}  	iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn));  | 
