Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/gve/gve_tx.c
| Show First 20 Lines • Show All 746 Lines • ▼ Show 20 Lines | while ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && | ||||
| if (gve_is_gqi(priv)) | if (gve_is_gqi(priv)) | ||||
| err = gve_xmit(tx, mbuf); | err = gve_xmit(tx, mbuf); | ||||
| else { | else { | ||||
| /* | /* | ||||
| * gve_xmit_dqo might attempt to defrag the mbuf chain. | * gve_xmit_dqo might attempt to defrag the mbuf chain. | ||||
| * The reference is passed in so that in the case of | * The reference is passed in so that in the case of | ||||
| * errors, the new mbuf chain is what's put back on the br. | * errors, the new mbuf chain is what's put back on the br. | ||||
| */ | */ | ||||
| if (gve_is_qpl(priv)) | |||||
| err = gve_xmit_dqo_qpl(tx, mbuf); | |||||
| else | |||||
| err = gve_xmit_dqo(tx, &mbuf); | err = gve_xmit_dqo(tx, &mbuf); | ||||
| } | } | ||||
| if (__predict_false(err != 0 && mbuf != NULL)) { | if (__predict_false(err != 0 && mbuf != NULL)) { | ||||
| drbr_putback(ifp, tx->br, mbuf); | drbr_putback(ifp, tx->br, mbuf); | ||||
| taskqueue_enqueue(tx->xmit_tq, &tx->xmit_task); | taskqueue_enqueue(tx->xmit_tq, &tx->xmit_task); | ||||
| break; | break; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 103 Lines • Show Last 20 Lines | |||||