diff options
Diffstat (limited to 'sys/dev/usb/udbp.c')
-rw-r--r-- | sys/dev/usb/udbp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/usb/udbp.c b/sys/dev/usb/udbp.c index 533a799..1a126ec 100644 --- a/sys/dev/usb/udbp.c +++ b/sys/dev/usb/udbp.c @@ -729,19 +729,20 @@ ng_udbp_rcvdata(hook_p hook, item_p item) struct ifqueue *xmitq_p; int s; struct mbuf *m; - meta_p meta; + struct ng_tag_prio *ptag; NGI_GET_M(item, m); - NGI_GET_META(item, meta); NG_FREE_ITEM(item); + /* * Now queue the data for when it can be sent */ - if (meta && meta->priority > 0) { + if ((ptag = (struct ng_tag_prio *)m_tag_locate(m, NGM_GENERIC_COOKIE, + NG_TAG_PRIO, NULL)) != NULL && (ptag->priority > NG_PRIO_CUTOFF) ) xmitq_p = (&sc->xmitq_hipri); - } else { + else xmitq_p = (&sc->xmitq); - } + s = splusb(); IF_LOCK(xmitq_p); if (_IF_QFULL(xmitq_p)) { @@ -763,7 +764,6 @@ bad: /* * check if we need to free the mbuf, and then return the error */ NG_FREE_M(m); - NG_FREE_META(meta); return (error); } |