diff options
| author | Adrian Chadd <adrian@FreeBSD.org> | 2009-05-27 13:59:17 +0000 |
|---|---|---|
| committer | Adrian Chadd <adrian@FreeBSD.org> | 2009-05-27 13:59:17 +0000 |
| commit | d76e4550e9fb13853fb9f80dc93e423949983d2c (patch) | |
| tree | f63b8fce438e28f4c74f2ba9ade8a25eeb1650ce | |
| parent | efbad25934c1556230b5b2d2076a9c2a30890922 (diff) | |
Notes
| -rw-r--r-- | sys/dev/xen/netfront/netfront.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c index 3498e5d04808..046cd65af399 100644 --- a/sys/dev/xen/netfront/netfront.c +++ b/sys/dev/xen/netfront/netfront.c @@ -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: |
