From 8fc11f1234ab8b56a2d965d757f899315b3839ee Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Mon, 10 Dec 2007 11:53:05 +0000 Subject: [PATCH] Pass delivery status to SCST. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@229 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla_isp/linux/isp_scst.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/qla_isp/linux/isp_scst.c b/qla_isp/linux/isp_scst.c index a565c0126..4deae6627 100644 --- a/qla_isp/linux/isp_scst.c +++ b/qla_isp/linux/isp_scst.c @@ -547,7 +547,9 @@ scsi_target_done_cmd(tmd_cmd_t *tmd, int from_intr) xfr->td_hflags &= ~TDFH_DATA_MASK; xfr->td_xfrlen = 0; } - /* ToDo: check and set scst_set_delivery_status(), if necessary */ + if (xfr->td_error) { + scst_set_delivery_status(scst_cmd, SCST_CMD_DELIVERY_FAILED); + } scst_tgt_cmd_done(scst_cmd); return; } @@ -562,7 +564,9 @@ scsi_target_done_cmd(tmd_cmd_t *tmd, int from_intr) } scst_rx_data(scst_cmd, SCST_RX_STATUS_SUCCESS, SCST_CONTEXT_TASKLET); } else { - /* ToDo: check and set scst_set_delivery_status(), if necessary */ + if (xfr->td_error) { + scst_set_delivery_status(scst_cmd, SCST_CMD_DELIVERY_FAILED); + } scst_tgt_cmd_done(scst_cmd); } } else { @@ -571,7 +575,9 @@ scsi_target_done_cmd(tmd_cmd_t *tmd, int from_intr) } else if (xfr->td_hflags & TDFH_DATA_IN) { xfr->td_hflags &= ~TDFH_DATA_MASK; xfr->td_xfrlen = 0; - /* ToDo: check and set scst_set_delivery_status(), if necessary */ + if (xfr->td_error) { + scst_set_delivery_status(scst_cmd, SCST_CMD_DELIVERY_FAILED); + } scst_tgt_cmd_done(scst_cmd); } }