qlge: Add disable/enable firmare irqs to handler.
This was accidentally omitted from one of the previous patches for firmware event handling. The handler needs to the enable firmware irq mask when it's done processing or it may not get any more events interrupts. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2cd6dbaaf4
commit
efd7d2619f
1 changed files with 4 additions and 0 deletions
|
@ -965,6 +965,8 @@ void ql_mpi_work(struct work_struct *work)
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
rtnl_lock();
|
rtnl_lock();
|
||||||
|
/* Begin polled mode for MPI */
|
||||||
|
ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16));
|
||||||
|
|
||||||
while (ql_read32(qdev, STS) & STS_PI) {
|
while (ql_read32(qdev, STS) & STS_PI) {
|
||||||
memset(mbcp, 0, sizeof(struct mbox_params));
|
memset(mbcp, 0, sizeof(struct mbox_params));
|
||||||
|
@ -977,6 +979,8 @@ void ql_mpi_work(struct work_struct *work)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* End polled mode for MPI */
|
||||||
|
ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16) | INTR_MASK_PI);
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
ql_enable_completion_interrupt(qdev, 0);
|
ql_enable_completion_interrupt(qdev, 0);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue