qlge: Add disable/enable firmare irqs to handler.
[safe/jmp/linux-2.6] / drivers / net / qlge / qlge_mpi.c
index 8810f5b..99e58e3 100644 (file)
@@ -965,6 +965,8 @@ void ql_mpi_work(struct work_struct *work)
        int err = 0;
 
        rtnl_lock();
+       /* Begin polled mode for MPI */
+       ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16));
 
        while (ql_read32(qdev, STS) & STS_PI) {
                memset(mbcp, 0, sizeof(struct mbox_params));
@@ -977,6 +979,8 @@ void ql_mpi_work(struct work_struct *work)
                        break;
        }
 
+       /* End polled mode for MPI */
+       ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16) | INTR_MASK_PI);
        rtnl_unlock();
        ql_enable_completion_interrupt(qdev, 0);
 }