Merge ../linux-2.6-watchdog-mm
[linux-drm-fsl-dcu.git] / drivers / infiniband / ulp / iser / iscsi_iser.c
index 101e407eaa43d534b5d2b9e3374bf4f2c536b733..9b2041e25d593978c183cedd04999368dfeb140b 100644 (file)
@@ -317,6 +317,8 @@ iscsi_iser_conn_destroy(struct iscsi_cls_conn *cls_conn)
        struct iscsi_iser_conn *iser_conn = conn->dd_data;
 
        iscsi_conn_teardown(cls_conn);
+       if (iser_conn->ib_conn)
+               iser_conn->ib_conn->iser_conn = NULL;
        kfree(iser_conn);
 }
 
@@ -361,11 +363,11 @@ iscsi_iser_conn_start(struct iscsi_cls_conn *cls_conn)
        struct iscsi_conn *conn = cls_conn->dd_data;
        int err;
 
-       err = iscsi_conn_start(cls_conn);
+       err = iser_conn_set_full_featured_mode(conn);
        if (err)
                return err;
 
-       return iser_conn_set_full_featured_mode(conn);
+       return iscsi_conn_start(cls_conn);
 }
 
 static struct iscsi_transport iscsi_iser_transport;
@@ -545,6 +547,7 @@ static struct scsi_host_template iscsi_iser_sht = {
        .queuecommand           = iscsi_queuecommand,
        .can_queue              = ISCSI_XMIT_CMDS_MAX - 1,
        .sg_tablesize           = ISCSI_ISER_SG_TABLESIZE,
+       .max_sectors            = 1024,
        .cmd_per_lun            = ISCSI_MAX_CMD_PER_LUN,
        .eh_abort_handler       = iscsi_eh_abort,
        .eh_host_reset_handler  = iscsi_eh_host_reset,