summaryrefslogtreecommitdiffstats
path: root/sys/dev/sr
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sr')
-rw-r--r--sys/dev/sr/if_sr.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/dev/sr/if_sr.c b/sys/dev/sr/if_sr.c
index 45eaf50..5f60aef 100644
--- a/sys/dev/sr/if_sr.c
+++ b/sys/dev/sr/if_sr.c
@@ -2830,10 +2830,9 @@ ngsr_rcvdata(hook_p hook, item_p item)
struct sr_softc * sc = NG_NODE_PRIVATE(NG_HOOK_NODE(hook));
struct ifqueue *xmitq_p;
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);
/*
* data doesn't come in from just anywhere (e.g control hook)
@@ -2846,11 +2845,12 @@ ngsr_rcvdata(hook_p hook, item_p 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 = splimp();
IF_LOCK(xmitq_p);
if (_IF_QFULL(xmitq_p)) {
@@ -2872,7 +2872,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);
}
OpenPOWER on IntegriCloud