Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/xen/netfront/netfront.c
Show First 20 Lines • Show All 900 Lines • ▼ Show 20 Lines | for (q = 0; q < num_queues; q++) { | ||||
} | } | ||||
} | } | ||||
return (0); | return (0); | ||||
fail_bind_port: | fail_bind_port: | ||||
taskqueue_drain_all(txq->tq); | taskqueue_drain_all(txq->tq); | ||||
fail_start_thread: | fail_start_thread: | ||||
gnttab_free_grant_references(txq->gref_head); | |||||
free(txq->ring.sring, M_DEVBUF); | |||||
gnttab_end_foreign_access_ref(txq->ring_ref); | |||||
buf_ring_free(txq->br, M_DEVBUF); | buf_ring_free(txq->br, M_DEVBUF); | ||||
taskqueue_free(txq->tq); | taskqueue_free(txq->tq); | ||||
gnttab_end_foreign_access_ref(txq->ring_ref); | |||||
fail_grant_ring: | fail_grant_ring: | ||||
gnttab_free_grant_references(txq->gref_head); | gnttab_free_grant_references(txq->gref_head); | ||||
free(txq->ring.sring, M_DEVBUF); | free(txq->ring.sring, M_DEVBUF); | ||||
fail: | fail: | ||||
for (; q >= 0; q--) { | for (; q >= 0; q--) { | ||||
disconnect_txq(&info->txq[q]); | disconnect_txq(&info->txq[q]); | ||||
destroy_txq(&info->txq[q]); | destroy_txq(&info->txq[q]); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,432 Lines • Show Last 20 Lines |