Page MenuHomeFreeBSD

D26896.diff
No OneTemporary

D26896.diff

Index: sys/dev/ixl/ixl_txrx.c
===================================================================
--- sys/dev/ixl/ixl_txrx.c
+++ sys/dev/ixl/ixl_txrx.c
@@ -333,8 +333,6 @@
* - return 0 on success, positive on failure
*
**********************************************************************/
-#define IXL_TXD_CMD (I40E_TX_DESC_CMD_EOP | I40E_TX_DESC_CMD_RS)
-
static int
ixl_isc_txd_encap(void *arg, if_pkt_info_t pi)
{
@@ -396,15 +394,21 @@
pidx_last = i;
i = (i+1) & mask;
}
- /* Set the last descriptor for report */
+ /*
+ * Set the EOP flag in the last descriptor. If the caller asked
+ * to be interrupted on completion, also set the report flag. */
txd->cmd_type_offset_bsz |=
- htole64(((u64)IXL_TXD_CMD << I40E_TXD_QW1_CMD_SHIFT));
- /* Add to report status array (if using TX interrupts) */
- if (!vsi->enable_head_writeback && tx_intr) {
- txr->tx_rsq[txr->tx_rs_pidx] = pidx_last;
- txr->tx_rs_pidx = (txr->tx_rs_pidx+1) & mask;
- MPASS(txr->tx_rs_pidx != txr->tx_rs_cidx);
- }
+ htole64(((u64)I40E_TX_DESC_CMD_EOP << I40E_TXD_QW1_CMD_SHIFT));
+ if (tx_intr) {
+ txd->cmd_type_offset_bsz |=
+ htole64(((u64)I40E_TX_DESC_CMD_RS << I40E_TXD_QW1_CMD_SHIFT));
+ /* Add to report status array (if using TX interrupts) */
+ if (!vsi->enable_head_writeback) {
+ txr->tx_rsq[txr->tx_rs_pidx] = pidx_last;
+ txr->tx_rs_pidx = (txr->tx_rs_pidx+1) & mask;
+ MPASS(txr->tx_rs_pidx != txr->tx_rs_cidx);
+ }
+ }
pi->ipi_new_pidx = i;
++txr->tx_packets;

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 29, 1:15 AM (16 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6089276
Default Alt Text
D26896.diff (1 KB)

Event Timeline