summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libiscsi.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2008-12-02 07:32:15 +0100
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-12-29 18:24:23 +0100
commitae15f80172d95f978b60d40408353943d5bc099b (patch)
treec520477e90c974e2d165187ba8ee3ad7ec8c7375 /drivers/scsi/libiscsi.c
parent[SCSI] libiscsi: pass opcode into alloc_pdu callout (diff)
downloadlinux-ae15f80172d95f978b60d40408353943d5bc099b.tar.xz
linux-ae15f80172d95f978b60d40408353943d5bc099b.zip
[SCSI] libiscsi: handle init task failures.
Mgmt setup used to not fail so we did not have to check the return value. Now with cxgb3i it can so this has us pass up a error. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r--drivers/scsi/libiscsi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index ddf53978f0be..7225b6e2029e 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -475,8 +475,8 @@ static int iscsi_prep_mgmt_task(struct iscsi_conn *conn,
}
}
- if (session->tt->init_task)
- session->tt->init_task(task);
+ if (session->tt->init_task && session->tt->init_task(task))
+ return -EIO;
if ((hdr->opcode & ISCSI_OPCODE_MASK) == ISCSI_OP_LOGOUT)
session->state = ISCSI_STATE_LOGGING_OUT;