Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Oct 2016 13:37:58 +0000 (UTC)
From:      Sean Bruno <sbruno@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r308038 - head/sys/dev/netmap
Message-ID:  <201610281337.u9SDbwNA051926@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sbruno
Date: Fri Oct 28 13:37:58 2016
New Revision: 308038
URL: https://svnweb.freebsd.org/changeset/base/308038

Log:
  The buffer address is always overwritten in the extended descriptor format,
  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

Modified:
  head/sys/dev/netmap/if_em_netmap.h

Modified: head/sys/dev/netmap/if_em_netmap.h
==============================================================================
--- head/sys/dev/netmap/if_em_netmap.h	Fri Oct 28 12:59:21 2016	(r308037)
+++ head/sys/dev/netmap/if_em_netmap.h	Fri Oct 28 13:37:58 2016	(r308038)
@@ -277,9 +277,9 @@ em_netmap_rxsync(struct netmap_kring *kr
 			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;
 			}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610281337.u9SDbwNA051926>