On 1/11/21 5:12 PM, Tyrel Datwyler wrote: > @@ -5880,12 +5936,13 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id) > > shost->transportt = ibmvfc_transport_template; > shost->can_queue = max_requests; > + shost->can_queue = (max_requests / nr_scsi_hw_queues); This looks to be in conflict with the fact that the first patch requested a shared tag set, right? > shost->max_lun = max_lun; > shost->max_id = max_targets; > shost->max_sectors = IBMVFC_MAX_SECTORS; > shost->max_cmd_len = IBMVFC_MAX_CDB_LEN; > shost->unique_id = shost->host_no; > - shost->nr_hw_queues = IBMVFC_MQ ? IBMVFC_SCSI_HW_QUEUES : 1; > + shost->nr_hw_queues = mq_enabled ? nr_scsi_hw_queues : 1; You might want to range check this, to make sure its sane. > > vhost = shost_priv(shost); > INIT_LIST_HEAD(&vhost->targets); > @@ -5897,8 +5954,8 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id) > vhost->log_level = log_level; > vhost->task_set = 1; > > - vhost->mq_enabled = IBMVFC_MQ; > - vhost->client_scsi_channels = IBMVFC_SCSI_CHANNELS; > + vhost->mq_enabled = mq_enabled; > + vhost->client_scsi_channels = min(nr_scsi_hw_queues, nr_scsi_channels); > vhost->using_channels = 0; > vhost->do_enquiry = 1; > > -- Brian King Power Linux I/O IBM Linux Technology Center