From: Arnd Bergmann <a...@arndb.de> Date: Thu, 8 Dec 2016 22:57:04 +0100
> The array for initializing the cle is set up on the stack with > almost entirely constant data and then passed to a function that > converts it into HW specific bit patterns. With the latest > addition, the size of this array has grown to the point that > we get a warning about potential stack overflow in allmodconfig > builds: > > xgene_enet_cle.c: In function ‘xgene_enet_cle_init’: > xgene_enet_cle.c:836:1: error: the frame size of 1032 bytes is larger than > 1024 bytes [-Werror=frame-larger-than=] > > Looking a bit deeper at the usage, I noticed that the only modification > of the data is in dead code, as we don't even use the cle module > for phy_mode other than PHY_INTERFACE_MODE_XGMII. This means we > can simply mark the structure constant and access it directly rather > than passing the pointer down through another structure, making > the code more efficient at the same time as avoiding the > warning. > > Fixes: a809701fed15 ("drivers: net: xgene: fix: RSS for non-TCP/UDP") > Signed-off-by: Arnd Bergmann <a...@arndb.de> Applied.