diff options
Diffstat (limited to 'drivers/net/qlge/qlge_mpi.c')
-rw-r--r-- | drivers/net/qlge/qlge_mpi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/qlge/qlge_mpi.c b/drivers/net/qlge/qlge_mpi.c index 8810f5be7862..99e58e3f8e22 100644 --- a/drivers/net/qlge/qlge_mpi.c +++ b/drivers/net/qlge/qlge_mpi.c | |||
@@ -965,6 +965,8 @@ void ql_mpi_work(struct work_struct *work) | |||
965 | int err = 0; | 965 | int err = 0; |
966 | 966 | ||
967 | rtnl_lock(); | 967 | rtnl_lock(); |
968 | /* Begin polled mode for MPI */ | ||
969 | ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16)); | ||
968 | 970 | ||
969 | while (ql_read32(qdev, STS) & STS_PI) { | 971 | while (ql_read32(qdev, STS) & STS_PI) { |
970 | memset(mbcp, 0, sizeof(struct mbox_params)); | 972 | memset(mbcp, 0, sizeof(struct mbox_params)); |
@@ -977,6 +979,8 @@ void ql_mpi_work(struct work_struct *work) | |||
977 | break; | 979 | break; |
978 | } | 980 | } |
979 | 981 | ||
982 | /* End polled mode for MPI */ | ||
983 | ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16) | INTR_MASK_PI); | ||
980 | rtnl_unlock(); | 984 | rtnl_unlock(); |
981 | ql_enable_completion_interrupt(qdev, 0); | 985 | ql_enable_completion_interrupt(qdev, 0); |
982 | } | 986 | } |