Skip to content

Commit 99753ea

Browse files
jbrandebJeff Kirsher
authored andcommitted
i40e: fix fdir programming
There were a couple of fields in the fdir descriptor setup that were not being reprogrammed, which left the opportunity for stale data to be pushed as part of the descriptor next time it was used. Change-ID: Ieee5c96a7d4713d469693f086c4854de949a7633 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
1 parent e17ff05 commit 99753ea

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/net/ethernet/intel/i40e/i40e_txrx.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ int i40e_program_fdir_filter(struct i40e_fdir_filter *fdir_data, u8 *raw_packet,
100100
I40E_TXD_FLTR_QW0_DEST_VSI_SHIFT) &
101101
I40E_TXD_FLTR_QW0_DEST_VSI_MASK;
102102

103-
fdir_desc->qindex_flex_ptype_vsi = cpu_to_le32(fpt);
104-
105103
dcc = I40E_TX_DESC_DTYPE_FILTER_PROG;
106104

107105
if (add)
@@ -124,6 +122,8 @@ int i40e_program_fdir_filter(struct i40e_fdir_filter *fdir_data, u8 *raw_packet,
124122
I40E_TXD_FLTR_QW1_CNTINDEX_MASK;
125123
}
126124

125+
fdir_desc->qindex_flex_ptype_vsi = cpu_to_le32(fpt);
126+
fdir_desc->rsvd = cpu_to_le32(0);
127127
fdir_desc->dtype_cmd_cntindex = cpu_to_le32(dcc);
128128
fdir_desc->fd_id = cpu_to_le32(fdir_data->fd_id);
129129

@@ -1688,7 +1688,9 @@ static void i40e_atr(struct i40e_ring *tx_ring, struct sk_buff *skb,
16881688
I40E_TXD_FLTR_QW1_CNTINDEX_MASK;
16891689

16901690
fdir_desc->qindex_flex_ptype_vsi = cpu_to_le32(flex_ptype);
1691+
fdir_desc->rsvd = cpu_to_le32(0);
16911692
fdir_desc->dtype_cmd_cntindex = cpu_to_le32(dtype_cmd);
1693+
fdir_desc->fd_id = cpu_to_le32(0);
16921694
}
16931695

16941696
/**

0 commit comments

Comments
 (0)