diff options
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 15 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_sup.c | 7 |
2 files changed, 14 insertions, 8 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index c8d0a176fea4..245e7afb4c4d 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -37,6 +37,7 @@ qla2100_intr_handler(int irq, void *dev_id) | |||
37 | uint16_t hccr; | 37 | uint16_t hccr; |
38 | uint16_t mb[4]; | 38 | uint16_t mb[4]; |
39 | struct rsp_que *rsp; | 39 | struct rsp_que *rsp; |
40 | unsigned long flags; | ||
40 | 41 | ||
41 | rsp = (struct rsp_que *) dev_id; | 42 | rsp = (struct rsp_que *) dev_id; |
42 | if (!rsp) { | 43 | if (!rsp) { |
@@ -49,7 +50,7 @@ qla2100_intr_handler(int irq, void *dev_id) | |||
49 | reg = &ha->iobase->isp; | 50 | reg = &ha->iobase->isp; |
50 | status = 0; | 51 | status = 0; |
51 | 52 | ||
52 | spin_lock(&ha->hardware_lock); | 53 | spin_lock_irqsave(&ha->hardware_lock, flags); |
53 | vha = pci_get_drvdata(ha->pdev); | 54 | vha = pci_get_drvdata(ha->pdev); |
54 | for (iter = 50; iter--; ) { | 55 | for (iter = 50; iter--; ) { |
55 | hccr = RD_REG_WORD(®->hccr); | 56 | hccr = RD_REG_WORD(®->hccr); |
@@ -101,7 +102,7 @@ qla2100_intr_handler(int irq, void *dev_id) | |||
101 | RD_REG_WORD(®->hccr); | 102 | RD_REG_WORD(®->hccr); |
102 | } | 103 | } |
103 | } | 104 | } |
104 | spin_unlock(&ha->hardware_lock); | 105 | spin_unlock_irqrestore(&ha->hardware_lock, flags); |
105 | 106 | ||
106 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && | 107 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && |
107 | (status & MBX_INTERRUPT) && ha->flags.mbox_int) { | 108 | (status & MBX_INTERRUPT) && ha->flags.mbox_int) { |
@@ -133,6 +134,7 @@ qla2300_intr_handler(int irq, void *dev_id) | |||
133 | uint16_t mb[4]; | 134 | uint16_t mb[4]; |
134 | struct rsp_que *rsp; | 135 | struct rsp_que *rsp; |
135 | struct qla_hw_data *ha; | 136 | struct qla_hw_data *ha; |
137 | unsigned long flags; | ||
136 | 138 | ||
137 | rsp = (struct rsp_que *) dev_id; | 139 | rsp = (struct rsp_que *) dev_id; |
138 | if (!rsp) { | 140 | if (!rsp) { |
@@ -145,7 +147,7 @@ qla2300_intr_handler(int irq, void *dev_id) | |||
145 | reg = &ha->iobase->isp; | 147 | reg = &ha->iobase->isp; |
146 | status = 0; | 148 | status = 0; |
147 | 149 | ||
148 | spin_lock(&ha->hardware_lock); | 150 | spin_lock_irqsave(&ha->hardware_lock, flags); |
149 | vha = pci_get_drvdata(ha->pdev); | 151 | vha = pci_get_drvdata(ha->pdev); |
150 | for (iter = 50; iter--; ) { | 152 | for (iter = 50; iter--; ) { |
151 | stat = RD_REG_DWORD(®->u.isp2300.host_status); | 153 | stat = RD_REG_DWORD(®->u.isp2300.host_status); |
@@ -216,7 +218,7 @@ qla2300_intr_handler(int irq, void *dev_id) | |||
216 | WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); | 218 | WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); |
217 | RD_REG_WORD_RELAXED(®->hccr); | 219 | RD_REG_WORD_RELAXED(®->hccr); |
218 | } | 220 | } |
219 | spin_unlock(&ha->hardware_lock); | 221 | spin_unlock_irqrestore(&ha->hardware_lock, flags); |
220 | 222 | ||
221 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && | 223 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && |
222 | (status & MBX_INTERRUPT) && ha->flags.mbox_int) { | 224 | (status & MBX_INTERRUPT) && ha->flags.mbox_int) { |
@@ -1626,6 +1628,7 @@ qla24xx_intr_handler(int irq, void *dev_id) | |||
1626 | uint32_t hccr; | 1628 | uint32_t hccr; |
1627 | uint16_t mb[4]; | 1629 | uint16_t mb[4]; |
1628 | struct rsp_que *rsp; | 1630 | struct rsp_que *rsp; |
1631 | unsigned long flags; | ||
1629 | 1632 | ||
1630 | rsp = (struct rsp_que *) dev_id; | 1633 | rsp = (struct rsp_que *) dev_id; |
1631 | if (!rsp) { | 1634 | if (!rsp) { |
@@ -1638,7 +1641,7 @@ qla24xx_intr_handler(int irq, void *dev_id) | |||
1638 | reg = &ha->iobase->isp24; | 1641 | reg = &ha->iobase->isp24; |
1639 | status = 0; | 1642 | status = 0; |
1640 | 1643 | ||
1641 | spin_lock(&ha->hardware_lock); | 1644 | spin_lock_irqsave(&ha->hardware_lock, flags); |
1642 | vha = pci_get_drvdata(ha->pdev); | 1645 | vha = pci_get_drvdata(ha->pdev); |
1643 | for (iter = 50; iter--; ) { | 1646 | for (iter = 50; iter--; ) { |
1644 | stat = RD_REG_DWORD(®->host_status); | 1647 | stat = RD_REG_DWORD(®->host_status); |
@@ -1688,7 +1691,7 @@ qla24xx_intr_handler(int irq, void *dev_id) | |||
1688 | WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT); | 1691 | WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT); |
1689 | RD_REG_DWORD_RELAXED(®->hccr); | 1692 | RD_REG_DWORD_RELAXED(®->hccr); |
1690 | } | 1693 | } |
1691 | spin_unlock(&ha->hardware_lock); | 1694 | spin_unlock_irqrestore(&ha->hardware_lock, flags); |
1692 | 1695 | ||
1693 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && | 1696 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && |
1694 | (status & MBX_INTERRUPT) && ha->flags.mbox_int) { | 1697 | (status & MBX_INTERRUPT) && ha->flags.mbox_int) { |
diff --git a/drivers/scsi/qla2xxx/qla_sup.c b/drivers/scsi/qla2xxx/qla_sup.c index 6260505dceb5..010e69b29afe 100644 --- a/drivers/scsi/qla2xxx/qla_sup.c +++ b/drivers/scsi/qla2xxx/qla_sup.c | |||
@@ -945,7 +945,9 @@ qla2xxx_flash_npiv_conf(scsi_qla_host_t *vha) | |||
945 | 945 | ||
946 | DEBUG2(qla_printk(KERN_INFO, ha, "NPIV[%02x]: wwpn=%llx " | 946 | DEBUG2(qla_printk(KERN_INFO, ha, "NPIV[%02x]: wwpn=%llx " |
947 | "wwnn=%llx vf_id=0x%x Q_qos=0x%x F_qos=0x%x.\n", cnt, | 947 | "wwnn=%llx vf_id=0x%x Q_qos=0x%x F_qos=0x%x.\n", cnt, |
948 | vid.port_name, vid.node_name, le16_to_cpu(entry->vf_id), | 948 | (unsigned long long)vid.port_name, |
949 | (unsigned long long)vid.node_name, | ||
950 | le16_to_cpu(entry->vf_id), | ||
949 | entry->q_qos, entry->f_qos)); | 951 | entry->q_qos, entry->f_qos)); |
950 | 952 | ||
951 | if (i < QLA_PRECONFIG_VPORTS) { | 953 | if (i < QLA_PRECONFIG_VPORTS) { |
@@ -954,7 +956,8 @@ qla2xxx_flash_npiv_conf(scsi_qla_host_t *vha) | |||
954 | qla_printk(KERN_INFO, ha, | 956 | qla_printk(KERN_INFO, ha, |
955 | "NPIV-Config: Failed to create vport [%02x]: " | 957 | "NPIV-Config: Failed to create vport [%02x]: " |
956 | "wwpn=%llx wwnn=%llx.\n", cnt, | 958 | "wwpn=%llx wwnn=%llx.\n", cnt, |
957 | vid.port_name, vid.node_name); | 959 | (unsigned long long)vid.port_name, |
960 | (unsigned long long)vid.node_name); | ||
958 | } | 961 | } |
959 | } | 962 | } |
960 | done: | 963 | done: |