mbox series

[v3,net,0/8] Fixes for NXP ENETC driver

Message ID 20210301111818.2081582-1-olteanv@gmail.com
Headers show
Series Fixes for NXP ENETC driver | expand

Message

Vladimir Oltean March 1, 2021, 11:18 a.m. UTC
From: Vladimir Oltean <vladimir.oltean@nxp.com>

This contains an assorted set of fixes collected over the past 2 weeks
on the enetc driver. Some are related to VLAN processing, some to
physical link settings, some are fixups of previous hardware workarounds,
and some are simply zero-day data path bugs that for some reason were
never caught or at least identified.

Vladimir Oltean (8):
  net: enetc: don't overwrite the RSS indirection table when
    initializing
  net: enetc: initialize RFS/RSS memories for unused ports too
  net: enetc: take the MDIO lock only once per NAPI poll cycle
  net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets
  net: enetc: don't disable VLAN filtering in IFF_PROMISC mode
  net: enetc: force the RGMII speed and duplex instead of operating in
    inband mode
  net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr
  net: enetc: keep RX ring consumer index in sync with hardware

 drivers/net/ethernet/freescale/enetc/enetc.c  | 87 ++++++++--------
 drivers/net/ethernet/freescale/enetc/enetc.h  |  5 +
 .../net/ethernet/freescale/enetc/enetc_hw.h   | 18 +++-
 .../net/ethernet/freescale/enetc/enetc_pf.c   | 98 +++++++++++++++----
 .../net/ethernet/freescale/enetc/enetc_vf.c   |  7 ++
 5 files changed, 152 insertions(+), 63 deletions(-)

Comments

Vladimir Oltean March 2, 2021, 11:47 a.m. UTC | #1
On Mon, Mar 01, 2021 at 09:40:07PM +0000, patchwork-bot+netdevbpf@kernel.org wrote:
> Hello:
> 
> This series was applied to netdev/net.git (refs/heads/master):
> 
> On Mon,  1 Mar 2021 13:18:10 +0200 you wrote:
> > From: Vladimir Oltean <vladimir.oltean@nxp.com>
> > 
> > This contains an assorted set of fixes collected over the past 2 weeks
> > on the enetc driver. Some are related to VLAN processing, some to
> > physical link settings, some are fixups of previous hardware workarounds,
> > and some are simply zero-day data path bugs that for some reason were
> > never caught or at least identified.
> > 
> > [...]
> 
> Here is the summary with links:
>   - [v3,net,1/8] net: enetc: don't overwrite the RSS indirection table when initializing
>     https://git.kernel.org/netdev/net/c/c646d10dda2d
>   - [v3,net,2/8] net: enetc: initialize RFS/RSS memories for unused ports too
>     https://git.kernel.org/netdev/net/c/3222b5b613db
>   - [v3,net,3/8] net: enetc: take the MDIO lock only once per NAPI poll cycle
>     https://git.kernel.org/netdev/net/c/6d36ecdbc441
>   - [v3,net,4/8] net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets
>     https://git.kernel.org/netdev/net/c/827b6fd04651
>   - [v3,net,5/8] net: enetc: don't disable VLAN filtering in IFF_PROMISC mode
>     https://git.kernel.org/netdev/net/c/a74dbce9d454
>   - [v3,net,6/8] net: enetc: force the RGMII speed and duplex instead of operating in inband mode
>     https://git.kernel.org/netdev/net/c/c76a97218dcb
>   - [v3,net,7/8] net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr
>     https://git.kernel.org/netdev/net/c/96a5223b918c
>   - [v3,net,8/8] net: enetc: keep RX ring consumer index in sync with hardware
>     https://git.kernel.org/netdev/net/c/3a5d12c9be6f
> 
> You are awesome, thank you!
> --
> Deet-doot-dot, I am a bot.
> https://korg.docs.kernel.org/patchwork/pwbot.html

Thanks.
This is somewhat non-ideal, since, as discussed on patch 8/8, I was
planning to resend a new version with the proper Fixes: tag, but
obviously I did not get the chance to do that:
https://patchwork.kernel.org/project/netdevbpf/patch/20210301111818.2081582-9-olteanv@gmail.com/
However, at this point, doing anything at all would be messier than not
doing anything, and according to my calculations, nothing breaks even if
patch 8/8 is backported to kernels containing just the initial commit of
the driver, but not the MDIO workaround. The next_to_use variable will
just be written twice (with the same value) to the RX ring's consumer
index, once in enetc_refill_rx_ring and the second time immediately
afterwards, in enetc_setup_rxbdr.
If I get the chance to NACK backporting of patch 8 to stable kernels
that don't contain commit "enetc: Workaround for MDIO register access
issue" (aka to stable kernels lower than linux-5.9.y) then I'll do that.