diff options
Diffstat (limited to 'drivers/target/tcm_fc/tfc_cmd.c')
-rw-r--r-- | drivers/target/tcm_fc/tfc_cmd.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c index a375f257aabc..f03fb9730f5b 100644 --- a/drivers/target/tcm_fc/tfc_cmd.c +++ b/drivers/target/tcm_fc/tfc_cmd.c | |||
@@ -215,20 +215,10 @@ int ft_write_pending(struct se_cmd *se_cmd) | |||
215 | */ | 215 | */ |
216 | if ((ep->xid <= lport->lro_xid) && | 216 | if ((ep->xid <= lport->lro_xid) && |
217 | (fh->fh_r_ctl == FC_RCTL_DD_DATA_DESC)) { | 217 | (fh->fh_r_ctl == FC_RCTL_DD_DATA_DESC)) { |
218 | if (se_cmd->se_cmd_flags & SCF_SCSI_DATA_SG_IO_CDB) { | 218 | if ((se_cmd->se_cmd_flags & SCF_SCSI_DATA_SG_IO_CDB) && |
219 | /* | 219 | lport->tt.ddp_target(lport, ep->xid, |
220 | * cmd may have been broken up into multiple | 220 | se_cmd->t_data_sg, |
221 | * tasks. Link their sgs together so we can | 221 | se_cmd->t_data_nents)) |
222 | * operate on them all at once. | ||
223 | */ | ||
224 | transport_do_task_sg_chain(se_cmd); | ||
225 | cmd->sg = se_cmd->t_tasks_sg_chained; | ||
226 | cmd->sg_cnt = | ||
227 | se_cmd->t_tasks_sg_chained_no; | ||
228 | } | ||
229 | if (cmd->sg && lport->tt.ddp_target(lport, ep->xid, | ||
230 | cmd->sg, | ||
231 | cmd->sg_cnt)) | ||
232 | cmd->was_ddp_setup = 1; | 222 | cmd->was_ddp_setup = 1; |
233 | } | 223 | } |
234 | } | 224 | } |