diff options
author | Navdeep Parhar <np@FreeBSD.org> | 2011-05-04 23:07:30 +0000 |
---|---|---|
committer | Navdeep Parhar <np@FreeBSD.org> | 2011-05-04 23:07:30 +0000 |
commit | b815af1b74e3dbefeda847a5753e5f04257a7943 (patch) | |
tree | e27b7218a0f0d672c444a77bd4ff4776d14b9a21 /sys | |
parent | 3937fc9c265632810745124a6943f5e98d5da4e6 (diff) | |
download | src-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.c | 14 |
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 |