"xlnx,rxmem" device-tree property is used to learn the size of the Rx/Tx packet buffer built into the ethernet IP, but return value of of_property_read_u32() is ignored. When the property is absent lp->rxmem is left at 0, which silently limits the interface to the default MTU and disables jumbo frames with no indication of the misconfiguration. "xlnx,rxmem" has been documented as a required property since the binding was introduced. Check the return value of of_property_read_u32() and fail probe when the property is missing, so a misconfigured device tree is reported rather than silently degrading functionality. Signed-off-by: Suraj Gupta --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index fcf517069d16..1722b7038f34 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -2898,7 +2898,10 @@ static int axienet_probe(struct platform_device *pdev) * Here we check for memory allocated for Rx/Tx in the hardware from * the device-tree and accordingly set flags. */ - of_property_read_u32(pdev->dev.of_node, "xlnx,rxmem", &lp->rxmem); + ret = of_property_read_u32(pdev->dev.of_node, "xlnx,rxmem", &lp->rxmem); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "failed to read xlnx,rxmem property\n"); lp->switch_x_sgmii = of_property_read_bool(pdev->dev.of_node, "xlnx,switch-x-sgmii"); -- 2.25.1