if (cl == NULL) return (0);
hfsc_class_destroy(struct hfsc_class *cl){	int s;	if (is_a_parent_class(cl))		return (EBUSY);	s = splimp();	if (!qempty(cl->cl_q))		hfsc_purgeq(cl);	if (cl->cl_parent == NULL) {		/* this is root class */	} else {		struct hfsc_class *p = cl->cl_parent->cl_children;		if (p == cl)			cl->cl_parent->cl_children = cl->cl_siblings;		else do {			if (p->cl_siblings == cl) {				p->cl_siblings = cl->cl_siblings;				break;			}		} while ((p = p->cl_siblings) != NULL);		ASSERT(p != NULL);	}	cl->cl_hif->hif_class_tbl[cl->cl_handle - 1] = NULL;	cl->cl_hif->hif_classes--;	splx(s);	actlist_destroy(cl->cl_actc);	if (cl->cl_red != NULL) {#ifdef ALTQ_RIO		if (q_is_rio(cl->cl_q))			rio_destroy((rio_t *)cl->cl_red);#endif#ifdef ALTQ_RED		if (q_is_red(cl->cl_q))			red_destroy(cl->cl_red);#endif	}	if (cl->cl_usc != NULL)		FREE(cl->cl_usc, M_DEVBUF);	if (cl->cl_fsc != NULL)		FREE(cl->cl_fsc, M_DEVBUF);	if (cl->cl_rsc != NULL)		FREE(cl->cl_rsc, M_DEVBUF);	FREE(cl->cl_q, M_DEVBUF);	FREE(cl, M_DEVBUF);	return (0);}