aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2011-05-04 23:07:30 +0000
committerNavdeep Parhar <np@FreeBSD.org>2011-05-04 23:07:30 +0000
commitb815af1b74e3dbefeda847a5753e5f04257a7943 (patch)
treee27b7218a0f0d672c444a77bd4ff4776d14b9a21 /sys
parent3937fc9c265632810745124a6943f5e98d5da4e6 (diff)
downloadsrc-b815af1b74e3dbefeda847a5753e5f04257a7943.tar.gz
src-b815af1b74e3dbefeda847a5753e5f04257a7943.zip
Always re-arm an iq's interrupt before leaving the handler.
MFC after: 1 week
Notes
Notes: svn path=/head/; revision=221464
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/cxgbe/t4_sge.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c
index 05f0779207c9..90d3e5d9caf0 100644
--- a/sys/dev/cxgbe/t4_sge.c
+++ b/sys/dev/cxgbe/t4_sge.c
@@ -499,11 +499,8 @@ t4_intr_fwd(void *arg)
iq_next(iq);
}
- if (ndesc_total > 0) {
- t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS),
- V_CIDXINC(ndesc_pending) | V_INGRESSQID((u32)iq->cntxt_id) |
- V_SEINTARM(iq->intr_params));
- }
+ t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), V_CIDXINC(ndesc_pending) |
+ V_INGRESSQID((u32)iq->cntxt_id) | V_SEINTARM(iq->intr_params));
atomic_cmpset_32(&iq->state, IQS_BUSY, IQS_IDLE);
}
@@ -601,11 +598,8 @@ t4_evt_rx(void *arg)
iq_next(iq);
}
- if (ndesc_total > 0) {
- t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS),
- V_CIDXINC(ndesc_pending) | V_INGRESSQID(iq->cntxt_id) |
- V_SEINTARM(iq->intr_params));
- }
+ t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), V_CIDXINC(ndesc_pending) |
+ V_INGRESSQID(iq->cntxt_id) | V_SEINTARM(iq->intr_params));
}
void