|
@@ -829,6 +829,9 @@ static int tcm_loop_queue_data_in(struct se_cmd *se_cmd)
|
|
|
|
|
|
sc->result = SAM_STAT_GOOD;
|
|
|
set_host_byte(sc, DID_OK);
|
|
|
+ if ((se_cmd->se_cmd_flags & SCF_OVERFLOW_BIT) ||
|
|
|
+ (se_cmd->se_cmd_flags & SCF_UNDERFLOW_BIT))
|
|
|
+ scsi_set_resid(sc, se_cmd->residual_count);
|
|
|
sc->scsi_done(sc);
|
|
|
return 0;
|
|
|
}
|
|
@@ -854,6 +857,9 @@ static int tcm_loop_queue_status(struct se_cmd *se_cmd)
|
|
|
sc->result = se_cmd->scsi_status;
|
|
|
|
|
|
set_host_byte(sc, DID_OK);
|
|
|
+ if ((se_cmd->se_cmd_flags & SCF_OVERFLOW_BIT) ||
|
|
|
+ (se_cmd->se_cmd_flags & SCF_UNDERFLOW_BIT))
|
|
|
+ scsi_set_resid(sc, se_cmd->residual_count);
|
|
|
sc->scsi_done(sc);
|
|
|
return 0;
|
|
|
}
|