]> git.ipfire.org Git - thirdparty/linux.git/commit
can: treewide: remove can_change_mtu()
authorVincent Mailhol <mailhol@kernel.org>
Fri, 3 Oct 2025 03:16:38 +0000 (12:16 +0900)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 17 Oct 2025 07:57:13 +0000 (09:57 +0200)
commitf968a24cad3da72fdff12a0ae5ac0b679439cca1
tree955f78c42f794f52943bec9ef339fa9cffdc587a
parent9271d0ea07c27e6f482f20b615c2a4bba991e68c
can: treewide: remove can_change_mtu()

can_change_mtu() became obsolete by commit 23049938605b ("can: populate the
minimum and maximum MTU values"). Now that net_device->min_mtu and
net_device->max_mtu are populated, all the checks are already done by
dev_validate_mtu() in net/core/dev.c.

Remove the net_device_ops->ndo_change_mtu() callback of all the physical
interfaces, then remove can_change_mtu(). Only keep the vcan_change_mtu()
and vxcan_change_mtu() because the virtual interfaces use their own
different MTU logic.

The only functional change this patch introduces is that now the user will
be able to change the MTU even if the interface is up. This does not matter
for Classical CAN and CAN FD because their MTU range is composed of only
one value, respectively CAN_MTU and CANFD_MTU. For the upcoming CAN XL, the
MTU will be configurable within the CANXL_MIN_MTU to CANXL_MAX_MTU range at
any time, even if the interface is up. This is consistent with the other
net protocols and does not contradict ISO 11898-1:2024 as having a
modifiable MTU is a kernel extension.

Signed-off-by: Vincent Mailhol <mailhol@kernel.org>
Link: https://patch.msgid.link/20251003-remove-can_change_mtu-v1-1-337f8bc21181@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
40 files changed:
drivers/net/can/at91_can.c
drivers/net/can/bxcan.c
drivers/net/can/c_can/c_can_main.c
drivers/net/can/can327.c
drivers/net/can/cc770/cc770.c
drivers/net/can/ctucanfd/ctucanfd_base.c
drivers/net/can/dev/dev.c
drivers/net/can/esd/esd_402_pci-core.c
drivers/net/can/flexcan/flexcan-core.c
drivers/net/can/grcan.c
drivers/net/can/ifi_canfd/ifi_canfd.c
drivers/net/can/janz-ican3.c
drivers/net/can/kvaser_pciefd/kvaser_pciefd_core.c
drivers/net/can/m_can/m_can.c
drivers/net/can/mscan/mscan.c
drivers/net/can/peak_canfd/peak_canfd.c
drivers/net/can/rcar/rcar_can.c
drivers/net/can/rcar/rcar_canfd.c
drivers/net/can/rockchip/rockchip_canfd-core.c
drivers/net/can/sja1000/sja1000.c
drivers/net/can/slcan/slcan-core.c
drivers/net/can/softing/softing_main.c
drivers/net/can/spi/hi311x.c
drivers/net/can/spi/mcp251x.c
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
drivers/net/can/sun4i_can.c
drivers/net/can/ti_hecc.c
drivers/net/can/usb/ems_usb.c
drivers/net/can/usb/esd_usb.c
drivers/net/can/usb/etas_es58x/es58x_core.c
drivers/net/can/usb/f81604.c
drivers/net/can/usb/gs_usb.c
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c
drivers/net/can/usb/mcba_usb.c
drivers/net/can/usb/nct6694_canfd.c
drivers/net/can/usb/peak_usb/pcan_usb_core.c
drivers/net/can/usb/ucan.c
drivers/net/can/usb/usb_8dev.c
drivers/net/can/xilinx_can.c
include/linux/can/dev.h