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: 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to