summaryrefslogtreecommitdiffstats
path: root/sys/dev/hea
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2003-03-04 23:19:55 +0000
committerjlemon <jlemon@FreeBSD.org>2003-03-04 23:19:55 +0000
commit04e28d5a816573d1300b4591306a8785d3ace29c (patch)
treef304f726e8973253d3e8a87e56119fec0276a61c /sys/dev/hea
parent45fcac94f475f1d18d50dde4f72eb51ee4abddcc (diff)
downloadFreeBSD-src-04e28d5a816573d1300b4591306a8785d3ace29c.zip
FreeBSD-src-04e28d5a816573d1300b4591306a8785d3ace29c.tar.gz
Update netisr handling; Each SWI now registers its queue, and all queue
drain routines are done by swi_net, which allows for better queue control at some future point. Packets may also be directly dispatched to a netisr instead of queued, this may be of interest at some installations, but currently defaults to off. Reviewed by: hsu, silby, jayanth, sam Sponsored by: DARPA, NAI Labs
Diffstat (limited to 'sys/dev/hea')
-rw-r--r--sys/dev/hea/eni_receive.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/sys/dev/hea/eni_receive.c b/sys/dev/hea/eni_receive.c
index 1ad4478..0fbf329 100644
--- a/sys/dev/hea/eni_receive.c
+++ b/sys/dev/hea/eni_receive.c
@@ -680,7 +680,6 @@ eni_recv_drain ( eup )
u_long DMA_Rdptr;
u_long dma_wrp;
u_long start, stop;
- int que = 0;
int s;
s = splimp();
@@ -802,9 +801,7 @@ eni_recv_drain ( eup )
/*
* Schedule callback
*/
- if (IF_HANDOFF(&atm_intrq, m, NULL)) {
- que++;
- } else {
+ if (! netisr_queue(NETISR_ATM, m)) {
eup->eu_stats.eni_st_drv.drv_rv_intrq++;
eup->eu_pif.pif_ierrors++;
#ifdef DO_LOG
@@ -827,13 +824,6 @@ next_buffer:
}
finish:
(void) splx(s);
-
- /*
- * If we found any completed buffers, schedule a call into
- * the kernel to process the atm_intrq.
- */
- if ( que )
- schednetisr(NETISR_ATM);
return;
}
OpenPOWER on IntegriCloud