diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mid.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mid.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c index 785c61279e6e..51716c7e3008 100644 --- a/drivers/scsi/qla2xxx/qla_mid.c +++ b/drivers/scsi/qla2xxx/qla_mid.c | |||
@@ -359,7 +359,7 @@ qla24xx_create_vhost(struct fc_vport *fc_vport) | |||
359 | scsi_qla_host_t *base_vha = shost_priv(fc_vport->shost); | 359 | scsi_qla_host_t *base_vha = shost_priv(fc_vport->shost); |
360 | struct qla_hw_data *ha = base_vha->hw; | 360 | struct qla_hw_data *ha = base_vha->hw; |
361 | scsi_qla_host_t *vha; | 361 | scsi_qla_host_t *vha; |
362 | struct scsi_host_template *sht = &qla24xx_driver_template; | 362 | struct scsi_host_template *sht = &qla2xxx_driver_template; |
363 | struct Scsi_Host *host; | 363 | struct Scsi_Host *host; |
364 | 364 | ||
365 | vha = qla2x00_create_host(sht, ha); | 365 | vha = qla2x00_create_host(sht, ha); |
@@ -584,6 +584,7 @@ qla25xx_create_req_que(struct qla_hw_data *ha, uint16_t options, | |||
584 | struct req_que *req = NULL; | 584 | struct req_que *req = NULL; |
585 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); | 585 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); |
586 | uint16_t que_id = 0; | 586 | uint16_t que_id = 0; |
587 | device_reg_t __iomem *reg; | ||
587 | 588 | ||
588 | req = kzalloc(sizeof(struct req_que), GFP_KERNEL); | 589 | req = kzalloc(sizeof(struct req_que), GFP_KERNEL); |
589 | if (req == NULL) { | 590 | if (req == NULL) { |
@@ -631,6 +632,9 @@ qla25xx_create_req_que(struct qla_hw_data *ha, uint16_t options, | |||
631 | req->ring_index = 0; | 632 | req->ring_index = 0; |
632 | req->cnt = req->length; | 633 | req->cnt = req->length; |
633 | req->id = que_id; | 634 | req->id = que_id; |
635 | reg = ISP_QUE_REG(ha, que_id); | ||
636 | req->req_q_in = ®->isp25mq.req_q_in; | ||
637 | req->req_q_out = ®->isp25mq.req_q_out; | ||
634 | req->max_q_depth = ha->req_q_map[0]->max_q_depth; | 638 | req->max_q_depth = ha->req_q_map[0]->max_q_depth; |
635 | mutex_unlock(&ha->vport_lock); | 639 | mutex_unlock(&ha->vport_lock); |
636 | 640 | ||
@@ -658,7 +662,8 @@ qla25xx_create_rsp_que(struct qla_hw_data *ha, uint16_t options, | |||
658 | int ret = 0; | 662 | int ret = 0; |
659 | struct rsp_que *rsp = NULL; | 663 | struct rsp_que *rsp = NULL; |
660 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); | 664 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); |
661 | uint16_t que_id = 0;; | 665 | uint16_t que_id = 0; |
666 | device_reg_t __iomem *reg; | ||
662 | 667 | ||
663 | rsp = kzalloc(sizeof(struct rsp_que), GFP_KERNEL); | 668 | rsp = kzalloc(sizeof(struct rsp_que), GFP_KERNEL); |
664 | if (rsp == NULL) { | 669 | if (rsp == NULL) { |
@@ -706,6 +711,9 @@ qla25xx_create_rsp_que(struct qla_hw_data *ha, uint16_t options, | |||
706 | rsp->ring_ptr = rsp->ring; | 711 | rsp->ring_ptr = rsp->ring; |
707 | rsp->ring_index = 0; | 712 | rsp->ring_index = 0; |
708 | rsp->id = que_id; | 713 | rsp->id = que_id; |
714 | reg = ISP_QUE_REG(ha, que_id); | ||
715 | rsp->rsp_q_in = ®->isp25mq.rsp_q_in; | ||
716 | rsp->rsp_q_out = ®->isp25mq.rsp_q_out; | ||
709 | mutex_unlock(&ha->vport_lock); | 717 | mutex_unlock(&ha->vport_lock); |
710 | 718 | ||
711 | ret = qla25xx_request_irq(rsp); | 719 | ret = qla25xx_request_irq(rsp); |