net: enetc: make sure all traffic classes can send large frames
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 20 Oct 2021 17:33:40 +0000 (20:33 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 21 Oct 2021 13:44:33 +0000 (06:44 -0700)
commite378f4967c8edd64c680f2e279cb646ee06b6f2d
tree0fb3885a7f271132c51c10b9218565352e416a43
parentfb8dc5fc8cbdfd62ecd16493848aee2f42ed84d9
net: enetc: make sure all traffic classes can send large frames

The enetc driver does not implement .ndo_change_mtu, instead it
configures the MAC register field PTC{Traffic Class}MSDUR[MAXSDU]
statically to a large value during probe time.

The driver used to configure only the max SDU for traffic class 0, and
that was fine while the driver could only use traffic class 0. But with
the introduction of mqprio, sending a large frame into any other TC than
0 is broken.

This patch fixes that by replicating per traffic class the static
configuration done in enetc_configure_port_mac().

Fixes: cbe9e835946f ("enetc: Enable TC offloading with mqprio")
Reported-by: Richie Pearn <richard.pearn@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: <Claudiu Manoil <claudiu.manoil@nxp.com>
Link: https://lore.kernel.org/r/20211020173340.1089992-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc_pf.c