mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-18 05:06:31 +00:00
Merge on the mainline qla2xxx git revision 0f19bc681ed0849a2b95778460a0a8132e3700e2:
Fix MSIX lockdep complain. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3577 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -24,7 +24,8 @@ following 2.6.26.x commits have been applied to it (upstream ID):
|
||||
5f3a9a207f1fccde476dd31b4c63ead2967d934f,
|
||||
85821c906cf3563a00a3d98fa380a2581a7a5ff1,
|
||||
3c01b4f9fbb43fc911acd33ea7a14ea7a4f9866b,
|
||||
8eca3f39c4b11320787f7b216f63214aee8415a9.
|
||||
8eca3f39c4b11320787f7b216f63214aee8415a9,
|
||||
0f19bc681ed0849a2b95778460a0a8132e3700e2.
|
||||
|
||||
See also "ToDo" file for list of known issues and unimplemented
|
||||
features.
|
||||
|
||||
+6
-4
@@ -1963,16 +1963,17 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
|
||||
{
|
||||
scsi_qla_host_t *ha;
|
||||
struct device_reg_24xx __iomem *reg;
|
||||
unsigned long flags;
|
||||
|
||||
ha = dev_id;
|
||||
reg = &ha->iobase->isp24;
|
||||
|
||||
spin_lock_irq(&ha->hardware_lock);
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
|
||||
qla24xx_process_response_queue(ha);
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
|
||||
spin_unlock_irq(&ha->hardware_lock);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
@@ -1986,12 +1987,13 @@ qla24xx_msix_default(int irq, void *dev_id)
|
||||
uint32_t stat;
|
||||
uint32_t hccr;
|
||||
uint16_t mb[4];
|
||||
unsigned long flags;
|
||||
|
||||
ha = dev_id;
|
||||
reg = &ha->iobase->isp24;
|
||||
status = 0;
|
||||
|
||||
spin_lock_irq(&ha->hardware_lock);
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
do {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
if (stat & HSRX_RISC_PAUSED) {
|
||||
@@ -2053,7 +2055,7 @@ qla24xx_msix_default(int irq, void *dev_id)
|
||||
}
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
} while (0);
|
||||
spin_unlock_irq(&ha->hardware_lock);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) &&
|
||||
(status & MBX_INTERRUPT) && ha->flags.mbox_int) {
|
||||
|
||||
Reference in New Issue
Block a user