Commit efd7d261 authored by Ron Mercer's avatar Ron Mercer Committed by David S. Miller

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: default avatarRon Mercer <ron.mercer@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2cd6dbaa
...@@ -965,6 +965,8 @@ void ql_mpi_work(struct work_struct *work) ...@@ -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) ...@@ -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);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment