summaryrefslogtreecommitdiffstats
path: root/sys/dev/e1000
diff options
context:
space:
mode:
authorjfv <jfv@FreeBSD.org>2010-09-07 21:28:45 +0000
committerjfv <jfv@FreeBSD.org>2010-09-07 21:28:45 +0000
commit675ed4bcb2f7aafc4ef0c6b25aa7af2da90e0bbb (patch)
tree38fa1219b294ad81d9fc2179e31cf18ce89803e5 /sys/dev/e1000
parent62814bf50cf8a8c9acaff4bb25428f2d32f1cf91 (diff)
downloadFreeBSD-src-675ed4bcb2f7aafc4ef0c6b25aa7af2da90e0bbb.zip
FreeBSD-src-675ed4bcb2f7aafc4ef0c6b25aa7af2da90e0bbb.tar.gz
Code correction in refresh_mbufs, just continuing
without index recalc was wrong.
Diffstat (limited to 'sys/dev/e1000')
-rw-r--r--sys/dev/e1000/if_em.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index 9c5a609..397a7e6 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -3696,7 +3696,7 @@ em_refresh_mbufs(struct rx_ring *rxr, int limit)
** and are to be reused.
*/
if (rxbuf->m_head != NULL)
- continue;
+ goto reuse;
m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
/*
** If we have a temporary resource shortage
@@ -3726,7 +3726,7 @@ em_refresh_mbufs(struct rx_ring *rxr, int limit)
rxbuf->map, BUS_DMASYNC_PREREAD);
rxbuf->m_head = m;
rxr->rx_base[i].buffer_addr = htole64(segs[0].ds_addr);
-
+reuse:
cleaned = i;
/* Calculate next index */
if (++i == adapter->num_rx_desc)
OpenPOWER on IntegriCloud