[SCSI] iscsi: iscsi response fix
from Wang Zhenyu: Must check SCSI CMD and R2T response according to the spec Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Alex Aizman <itn780@yahoo.com> Signed-off-by: Dmitry Yusupov <dmitry_yus@yahoo.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
e6273993db
commit
733bb6a70c
|
@ -642,9 +642,7 @@ iscsi_hdr_recv(struct iscsi_conn *conn)
|
|||
switch(conn->in.opcode) {
|
||||
case ISCSI_OP_SCSI_CMD_RSP:
|
||||
BUG_ON((void*)ctask != ctask->sc->SCp.ptr);
|
||||
if (ctask->hdr.flags & ISCSI_FLAG_CMD_WRITE)
|
||||
rc = iscsi_cmd_rsp(conn, ctask);
|
||||
else if (!conn->in.datalen)
|
||||
if (!conn->in.datalen)
|
||||
rc = iscsi_cmd_rsp(conn, ctask);
|
||||
else
|
||||
/*
|
||||
|
@ -666,8 +664,7 @@ iscsi_hdr_recv(struct iscsi_conn *conn)
|
|||
break;
|
||||
case ISCSI_OP_R2T:
|
||||
BUG_ON((void*)ctask != ctask->sc->SCp.ptr);
|
||||
if (ctask->hdr.flags & ISCSI_FLAG_CMD_WRITE &&
|
||||
ctask->sc->sc_data_direction == DMA_TO_DEVICE)
|
||||
if (ctask->sc->sc_data_direction == DMA_TO_DEVICE)
|
||||
rc = iscsi_r2t_rsp(conn, ctask);
|
||||
else
|
||||
rc = ISCSI_ERR_PROTO;
|
||||
|
|
Loading…
Reference in New Issue