struct Scsi_Host *shost;
        struct iser_conn *ib_conn;
 
-       shost = iscsi_host_alloc(&iscsi_iser_sht, 0, ISER_DEF_CMD_PER_LUN, 1);
+       shost = iscsi_host_alloc(&iscsi_iser_sht, 0, 1);
        if (!shost)
                return NULL;
        shost->transportt = iscsi_iser_scsi_transport;
 
        int err;
 
        shost = iscsi_host_alloc(&cxgb3i_host_template,
-                                sizeof(struct cxgb3i_hba),
-                                CXGB3I_SCSI_QDEPTH_DFLT, 1);
+                                sizeof(struct cxgb3i_hba), 1);
        if (!shost) {
                cxgb3i_log_info("iscsi_host_alloc failed.\n");
                return NULL;
        .can_queue              = CXGB3I_SCSI_QDEPTH_DFLT - 1,
        .sg_tablesize           = SG_ALL,
        .max_sectors            = 0xFFFF,
-       .cmd_per_lun            = ISCSI_DEF_CMD_PER_LUN,
+       .cmd_per_lun            = CXGB3I_SCSI_QDEPTH_DFLT,
        .eh_abort_handler       = iscsi_eh_abort,
        .eh_device_reset_handler = iscsi_eh_device_reset,
        .eh_target_reset_handler = iscsi_eh_target_reset,
 
                return NULL;
        }
 
-       shost = iscsi_host_alloc(&iscsi_sw_tcp_sht, 0, qdepth, 1);
+       shost = iscsi_host_alloc(&iscsi_sw_tcp_sht, 0, 1);
        if (!shost)
                return NULL;
        shost->transportt = iscsi_sw_tcp_scsi_transport;
+       shost->cmd_per_lun = qdepth;
        shost->max_lun = iscsi_max_lun;
        shost->max_id = 0;
        shost->max_channel = 0;
 
        if (!shost->can_queue)
                shost->can_queue = ISCSI_DEF_XMIT_CMDS_MAX;
 
+       if (!shost->cmd_per_lun)
+               shost->cmd_per_lun = ISCSI_DEF_CMD_PER_LUN;
+
        if (!shost->transportt->eh_timed_out)
                shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out;
        return scsi_add_host(shost, pdev);
  * iscsi_host_alloc - allocate a host and driver data
  * @sht: scsi host template
  * @dd_data_size: driver host data size
- * @qdepth: default device queue depth
  * @xmit_can_sleep: bool indicating if LLD will queue IO from a work queue
  *
  * This should be called by partial offload and software iscsi drivers.
  * To access the driver specific memory use the iscsi_host_priv() macro.
  */
 struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
-                                  int dd_data_size, uint16_t qdepth,
-                                  bool xmit_can_sleep)
+                                  int dd_data_size, bool xmit_can_sleep)
 {
        struct Scsi_Host *shost;
        struct iscsi_host *ihost;
        shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) + dd_data_size);
        if (!shost)
                return NULL;
-
-       if (qdepth == 0)
-               qdepth = ISCSI_DEF_CMD_PER_LUN;
-       shost->cmd_per_lun = qdepth;
        ihost = shost_priv(shost);
 
        if (xmit_can_sleep) {
 
                                enum iscsi_host_param param, char *buf);
 extern int iscsi_host_add(struct Scsi_Host *shost, struct device *pdev);
 extern struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
-                                         int dd_data_size, uint16_t qdepth,
+                                         int dd_data_size,
                                          bool xmit_can_sleep);
 extern void iscsi_host_remove(struct Scsi_Host *shost);
 extern void iscsi_host_free(struct Scsi_Host *shost);