diff options
author | uaa <uaa@cvs.openbsd.org> | 2015-03-27 19:20:57 +0000 |
---|---|---|
committer | uaa <uaa@cvs.openbsd.org> | 2015-03-27 19:20:57 +0000 |
commit | 2e575f51027cd8729f69d328a6f57f9a9771ca36 (patch) | |
tree | e8febb8afd02a4add7f8f73b1837fc893c7ddab3 /sys/dev | |
parent | 4a1219d3ee0c3b9a7fb23913d61b10c70f893645 (diff) |
simply do if_input() between splnet() and splx(), like other drivers
(such as if_udav.c).
ok by mpi@
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/usb/if_url.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/dev/usb/if_url.c b/sys/dev/usb/if_url.c index 6124ddad1b8..82fd68d2bb1 100644 --- a/sys/dev/usb/if_url.c +++ b/sys/dev/usb/if_url.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_url.c,v 1.73 2015/03/14 03:38:49 jsg Exp $ */ +/* $OpenBSD: if_url.c,v 1.74 2015/03/27 19:20:56 uaa Exp $ */ /* $NetBSD: if_url.c,v 1.6 2002/09/29 10:19:21 martin Exp $ */ /* * Copyright (c) 2001, 2002 @@ -972,18 +972,16 @@ url_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) m->m_pkthdr.len = m->m_len = total_len; ml_enqueue(&ml, m); - s = splnet(); - if (url_newbuf(sc, c, NULL) == ENOBUFS) { ifp->if_ierrors++; - goto done1; + goto done; } DPRINTF(("%s: %s: deliver %d\n", sc->sc_dev.dv_xname, __func__, m->m_len)); - if_input(ifp, &ml); - done1: + s = splnet(); + if_input(ifp, &ml); splx(s); done: |