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"