Message ID | 20230301115908.47995-2-aleksander.lobakin@intel.com |
---|---|
State | Accepted |
Delegated to: | Anthony Nguyen |
Headers | show |
Series | iavf: fix double-broken HW hash report | expand |
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Alexander Lobakin > Sent: środa, 1 marca 2023 12:59 > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com> > Cc: Zaremba, Larysa <larysa.zaremba@intel.com>; netdev@vger.kernel.org; > Brandeburg, Jesse <jesse.brandeburg@intel.com>; linux- > kernel@vger.kernel.org; Eric Dumazet <edumazet@google.com>; Kubiak, > Michal <michal.kubiak@intel.com>; intel-wired-lan@lists.osuosl.org; Jakub > Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; David S. > Miller <davem@davemloft.net> > Subject: [Intel-wired-lan] [PATCH RESEND net v1 1/2] iavf: fix inverted Rx > hash condition leading to disabled hash > > Condition, which checks whether the netdev has hashing enabled is > inverted. Basically, the tagged commit effectively disabled passing flow hash > from descriptor to skb, unless user *disables* it via Ethtool. > Commit a876c3ba59a6 ("i40e/i40evf: properly report Rx packet hash") fixed > this problem, but only for i40e. > Invert the condition now in iavf and unblock passing hash to skbs again. > > Fixes: 857942fd1aa1 ("i40e: Fix Rx hash reported to the stack by our driver") > Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com> > Reviewed-by: Michal Kubiak <michal.kubiak@intel.com> > Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com> > --- > drivers/net/ethernet/intel/iavf/iavf_txrx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/intel/iavf/iavf_txrx.c > b/drivers/net/ethernet/intel/iavf/iavf_txrx.c > index 18b6a702a1d6..e989feda133c 100644 > --- a/drivers/net/ethernet/intel/iavf/iavf_txrx.c Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
diff --git a/drivers/net/ethernet/intel/iavf/iavf_txrx.c b/drivers/net/ethernet/intel/iavf/iavf_txrx.c index 18b6a702a1d6..e989feda133c 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_txrx.c +++ b/drivers/net/ethernet/intel/iavf/iavf_txrx.c @@ -1096,7 +1096,7 @@ static inline void iavf_rx_hash(struct iavf_ring *ring, cpu_to_le64((u64)IAVF_RX_DESC_FLTSTAT_RSS_HASH << IAVF_RX_DESC_STATUS_FLTSTAT_SHIFT); - if (ring->netdev->features & NETIF_F_RXHASH) + if (!(ring->netdev->features & NETIF_F_RXHASH)) return; if ((rx_desc->wb.qword1.status_error_len & rss_mask) == rss_mask) {