summaryrefslogtreecommitdiffstats
path: root/sys/dev/fxp
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1997-03-25 14:54:38 +0000
committerdg <dg@FreeBSD.org>1997-03-25 14:54:38 +0000
commit61a2f5437b835dfb2cd8c3051a3290cc05e75feb (patch)
tree98a5028761c4fa0393a1c5f81254f70c57b46098 /sys/dev/fxp
parent6f2f806e06ad1b963007c6bb878322d7bdf5b77d (diff)
downloadFreeBSD-src-61a2f5437b835dfb2cd8c3051a3290cc05e75feb.zip
FreeBSD-src-61a2f5437b835dfb2cd8c3051a3290cc05e75feb.tar.gz
Made a couple of minor optimizations that improve performance of the
common case of the interrupt routine by about 20%.
Diffstat (limited to 'sys/dev/fxp')
-rw-r--r--sys/dev/fxp/if_fxp.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c
index 4afce2a..5a041ca 100644
--- a/sys/dev/fxp/if_fxp.c
+++ b/sys/dev/fxp/if_fxp.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: if_fxp.c,v 1.31 1997/03/21 08:00:11 davidg Exp $
+ * $Id: if_fxp.c,v 1.32 1997/03/24 11:33:46 bde Exp $
*/
/*
@@ -450,7 +450,7 @@ txloop:
/*
* Grab a packet to transmit.
*/
- IF_DEQUEUE(&sc->arpcom.ac_if.if_snd, mb_head);
+ IF_DEQUEUE(&ifp->if_snd, mb_head);
if (mb_head == NULL) {
/*
* No more packets to send.
@@ -603,7 +603,8 @@ fxp_intr(arg)
* again in fxp_start().
*/
ifp->if_timer = 0;
- fxp_start(ifp);
+ if (ifp->if_snd.ifq_head != NULL)
+ fxp_start(ifp);
}
/*
* Process receiver interrupts. If a no-resource (RNR)
@@ -657,8 +658,6 @@ rcvloop:
goto rcvloop;
}
if (statack & FXP_SCB_STATACK_RNR) {
- struct fxp_csr *csr = sc->csr;
-
fxp_scb_wait(csr);
csr->scb_general = vtophys(sc->rfa_headm->m_ext.ext_buf);
csr->scb_command = FXP_SCB_COMMAND_RU_START;
OpenPOWER on IntegriCloud