Lines Matching defs:nddr
2666 panic("%s: attached nddr %p is being freed", __func__, dr);
2669 panic("%s: nddr %p cannot be freed", __func__, dr);
2688 panic("%s: nddr %p has no debug structure", __func__, dr);
2704 nddr_addref(struct nd_defrouter *nddr, int locked)
2708 NDDR_LOCK_SPIN(nddr);
2710 NDDR_LOCK_ASSERT_HELD(nddr);
2712 if (++nddr->nddr_refcount == 0) {
2713 panic("%s: nddr %p wraparound refcnt\n", __func__, nddr);
2715 } else if (nddr->nddr_trace != NULL) {
2716 (*nddr->nddr_trace)(nddr, TRUE);
2720 NDDR_UNLOCK(nddr);
2724 nddr_remref(struct nd_defrouter *nddr, int locked)
2728 NDDR_LOCK_SPIN(nddr);
2730 NDDR_LOCK_ASSERT_HELD(nddr);
2732 if (nddr->nddr_refcount == 0) {
2733 panic("%s: nddr %p negative refcnt\n", __func__, nddr);
2735 } else if (nddr->nddr_trace != NULL) {
2736 (*nddr->nddr_trace)(nddr, FALSE);
2739 if (--nddr->nddr_refcount == 0) {
2740 NDDR_UNLOCK(nddr);
2741 nddr_free(nddr);
2742 nddr = NULL;
2745 if (!locked && nddr != NULL)
2746 NDDR_UNLOCK(nddr);
2748 return (nddr);