diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index ddf53978f0bef79a96ba9bed54801e3b68a44766..7225b6e2029e53e8f57e42078cbef77865bbe1a1 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;