m_freem(data->m); data->m = NULL;
ural_alloc_rx_list(struct ural_softc *sc){	struct ural_rx_data *data;	int i, error;	for (i = 0; i < RAL_RX_LIST_COUNT; i++) {		data = &sc->rx_data[i];		data->sc = sc;		data->xfer = usbd_alloc_xfer(sc->sc_udev);		if (data->xfer == NULL) {			printf("%s: could not allocate rx xfer\n",			    USBDEVNAME(sc->sc_dev));			error = ENOMEM;			goto fail;		}		MGETHDR(data->m, M_DONTWAIT, MT_DATA);		if (data->m == NULL) {			printf("%s: could not allocate rx mbuf\n",			    USBDEVNAME(sc->sc_dev));			error = ENOMEM;			goto fail;		}		MCLGET(data->m, M_DONTWAIT);		if (!(data->m->m_flags & M_EXT)) {			m_freem(data->m);			data->m = NULL;			printf("%s: could not allocate rx mbuf cluster\n",			    USBDEVNAME(sc->sc_dev));			error = ENOMEM;			goto fail;		}		data->buf = mtod(data->m, uint8_t *);	}	return 0;fail:	ural_free_tx_list(sc);	return error;}