bna: fix interrupts storm caused by erroneous packets
The commit "e29aa33 bna: Enable Multi Buffer RX" moved packets counter increment from the beginning of the NAPI processing loop after the check for erroneous packets so they are never accounted. This counter is used to inform firmware about number of processed completions (packets). As these packets are never acked the firmware fires IRQs for them again and again. Fixes: e29aa33 ("bna: Enable Multi Buffer RX") Signed-off-by: Ivan Vecera <ivecera@redhat.com> Acked-by: Rasesh Mody <rasesh.mody@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ea70858423
commit
ade4dc3e61
@ -676,6 +676,7 @@ bnad_cq_process(struct bnad *bnad, struct bna_ccb *ccb, int budget)
|
||||
if (!next_cmpl->valid)
|
||||
break;
|
||||
}
|
||||
packets++;
|
||||
|
||||
/* TODO: BNA_CQ_EF_LOCAL ? */
|
||||
if (unlikely(flags & (BNA_CQ_EF_MAC_ERROR |
|
||||
@ -692,7 +693,6 @@ bnad_cq_process(struct bnad *bnad, struct bna_ccb *ccb, int budget)
|
||||
else
|
||||
bnad_cq_setup_skb_frags(rcb, skb, sop_ci, nvecs, len);
|
||||
|
||||
packets++;
|
||||
rcb->rxq->rx_packets++;
|
||||
rcb->rxq->rx_bytes += totlen;
|
||||
ccb->bytes_per_intr += totlen;
|
||||
|
Loading…
x
Reference in New Issue
Block a user