summaryrefslogtreecommitdiffstats
path: root/sys/net/if_gif.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/if_gif.c')
-rw-r--r--sys/net/if_gif.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c
index 085ff3d..143f06f 100644
--- a/sys/net/if_gif.c
+++ b/sys/net/if_gif.c
@@ -314,7 +314,7 @@ gif_input(m, af, gifp)
int af;
struct ifnet *gifp;
{
- int s, isr;
+ int isr;
register struct ifqueue *ifq = 0;
if (gifp == NULL) {
@@ -379,19 +379,11 @@ gif_input(m, af, gifp)
return;
}
- s = splimp();
- if (IF_QFULL(ifq)) {
- IF_DROP(ifq); /* update statistics */
- m_freem(m);
- splx(s);
- return;
- }
- IF_ENQUEUE(ifq, m);
- /* we need schednetisr since the address family may change */
- schednetisr(isr);
gifp->if_ipackets++;
gifp->if_ibytes += m->m_pkthdr.len;
- splx(s);
+ (void) IF_HANDOFF(ifq, m, NULL);
+ /* we need schednetisr since the address family may change */
+ schednetisr(isr);
return;
}
OpenPOWER on IntegriCloud