Skip to content

Commit

Permalink
The buffer address is always overwritten in the extended descriptor f…
Browse files Browse the repository at this point in the history
…ormat,

we have to refresh it ... always.  This fixes problems reported in NetMap
with em(4) devices after conversion to extended descriptor format in
svn r293331.

Submitted by:	luigi@
Reported by:	franco@opnsense.org
MFC after:	2 days
  • Loading branch information
seanbruno committed Oct 28, 2016
1 parent 8c812a2 commit c9c991e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion sys/dev/netmap/if_em_netmap.h
Original file line number Diff line number Diff line change
Expand Up @@ -277,9 +277,9 @@ em_netmap_rxsync(struct netmap_kring *kring, int flags)
if (addr == NETMAP_BUF_BASE(na)) /* bad buf */
goto ring_reset;

curr->read.buffer_addr = htole64(paddr);
if (slot->flags & NS_BUF_CHANGED) {
/* buffer has changed, reload map */
curr->read.buffer_addr = htole64(paddr);
netmap_reload_map(na, rxr->rxtag, rxbuf->map, addr);
slot->flags &= ~NS_BUF_CHANGED;
}
Expand Down

0 comments on commit c9c991e

Please sign in to comment.