Lines Matching defs:nddr
2647 panic("%s: attached nddr %p is being freed", __func__, dr);
2650 panic("%s: nddr %p cannot be freed", __func__, dr);
2669 panic("%s: nddr %p has no debug structure", __func__, dr);
2685 nddr_addref(struct nd_defrouter *nddr, int locked)
2689 NDDR_LOCK_SPIN(nddr);
2691 NDDR_LOCK_ASSERT_HELD(nddr);
2693 if (++nddr->nddr_refcount == 0) {
2694 panic("%s: nddr %p wraparound refcnt\n", __func__, nddr);
2696 } else if (nddr->nddr_trace != NULL) {
2697 (*nddr->nddr_trace)(nddr, TRUE);
2701 NDDR_UNLOCK(nddr);
2705 nddr_remref(struct nd_defrouter *nddr, int locked)
2709 NDDR_LOCK_SPIN(nddr);
2711 NDDR_LOCK_ASSERT_HELD(nddr);
2713 if (nddr->nddr_refcount == 0) {
2714 panic("%s: nddr %p negative refcnt\n", __func__, nddr);
2716 } else if (nddr->nddr_trace != NULL) {
2717 (*nddr->nddr_trace)(nddr, FALSE);
2720 if (--nddr->nddr_refcount == 0) {
2721 NDDR_UNLOCK(nddr);
2722 nddr_free(nddr);
2723 nddr = NULL;
2726 if (!locked && nddr != NULL)
2727 NDDR_UNLOCK(nddr);
2729 return (nddr);