]> err.no Git - linux-2.6/blobdiff - drivers/scsi/iscsi_tcp.c
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / drivers / scsi / iscsi_tcp.c
index 0cd78b1d1aaaed385133eb242464f2ef795b4b49..ff79e68b347c5c15828884991ff03a74902099fe 100644 (file)
@@ -3267,7 +3267,7 @@ iscsi_session_create(struct scsi_transport_template *scsit,
        session = iscsi_hostdata(shost->hostdata);
        memset(session, 0, sizeof(struct iscsi_session));
        session->host = shost;
-       session->state = ISCSI_STATE_LOGGED_IN;
+       session->state = ISCSI_STATE_FREE;
        session->mgmtpool_max = ISCSI_MGMT_CMDS_MAX;
        session->cmds_max = ISCSI_XMIT_CMDS_MAX;
        session->cmdsn = initial_cmdsn;
@@ -3316,8 +3316,8 @@ iscsi_session_create(struct scsi_transport_template *scsit,
 r2tpool_alloc_fail:
        for (cmd_i = 0; cmd_i < session->mgmtpool_max; cmd_i++)
                kfree(session->mgmt_cmds[cmd_i]->data);
-       iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);
 immdata_alloc_fail:
+       iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);
 mgmtpool_alloc_fail:
        iscsi_pool_free(&session->cmdpool, (void**)session->cmds);
 cmdpool_alloc_fail: