Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 May 2009 13:59:17 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r192894 - head/sys/dev/xen/netfront
Message-ID:  <200905271359.n4RDxIkW098923@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Wed May 27 13:59:17 2009
New Revision: 192894
URL: http://svn.freebsd.org/changeset/base/192894

Log:
  Clear IFF_DRV_OACTIVE if at least one TX xen/mbuf ring slot has been freed.

Modified:
  head/sys/dev/xen/netfront/netfront.c

Modified: head/sys/dev/xen/netfront/netfront.c
==============================================================================
--- head/sys/dev/xen/netfront/netfront.c	Wed May 27 12:44:36 2009	(r192893)
+++ head/sys/dev/xen/netfront/netfront.c	Wed May 27 13:59:17 2009	(r192894)
@@ -1099,6 +1099,8 @@ xn_txeof(struct netfront_info *np)
 				panic("netif_release_tx_bufs: tx_chain_cnt must be >= 0");
 			}
 			m_free(m);
+			/* Only mark the queue active if we've freed up at least one slot to try */
+			ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
 		}
 		np->tx.rsp_cons = prod;
 		
@@ -1115,7 +1117,6 @@ xn_txeof(struct netfront_info *np)
 		    prod + ((np->tx.sring->req_prod - prod) >> 1) + 1;
 
 		mb();
-		
 	} while (prod != np->tx.sring->rsp_prod);
 	
  out: 



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