]> git.ipfire.org Git - thirdparty/linux.git/commit
net/stmmac: Apply MTL_MAX queue limit if config missing
authorJakub Raczynski <j.raczynski@samsung.com>
Thu, 11 Jun 2026 11:33:58 +0000 (13:33 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 13 Jun 2026 23:00:27 +0000 (16:00 -0700)
commit8a7bca6de6debded7d591a352db7b7715f1f3d11
tree315168134bac92c6e7e585d43a04a3481c68baf7
parent8b10877d9d6c8b9d3961e02ae9ea0c74c0900d53
net/stmmac: Apply MTL_MAX queue limit if config missing

When "snps,rx-queues-to-use" or "tx-queues-to-use" config in DTS is provided
current code will apply U8_MAX value for queues_to_use if there is input of
higher value. But actual maximum number of supported queues is set via
macro MTL_MAX_RX_QUEUES and MTL_MAX_TX_QUEUES, which currently have value of 8.

This value of U8_MAX will be capped to value provided by core in DMA
capabilities (dma_conf), but it does so only if core provides it.
This is true for XGMAC (dwxgmac2) and some GMAC (dwmac4),
but not for (dwmac1000). This capping is at later stage in stmmac_hw_init(),
and during stmmac_mtl_setup() we might parse fields outside allocated memory
if queues_to_use is over defines MTL_MAX_ values,
for example following rx_queues_cfg is array of size of MTL_MAX_RX_QUEUES.

Fix this by capping value to MTL_MAX during config parsing.

Reported-by: Sashiko <sashiko-bot@kernel.org>
Signed-off-by: Jakub Raczynski <j.raczynski@samsung.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260611113358.3379518-3-j.raczynski@samsung.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c