• Arnd Bergmann's avatar
    brcmsmac: make some local variables 'static const' to reduce stack size · c503dd38
    Arnd Bergmann authored
    With KASAN and a couple of other patches applied, this driver is one
    of the few remaining ones that actually use more than 2048 bytes of
    kernel stack:
    
    broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_gainctrl':
    broadcom/brcm80211/brcmsmac/phy/phy_n.c:16065:1: warning: the frame size of 3264 bytes is larger than 2048 bytes [-Wframe-larger-than=]
    broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy':
    broadcom/brcm80211/brcmsmac/phy/phy_n.c:17138:1: warning: the frame size of 2864 bytes is larger than 2048 bytes [-Wframe-larger-than=]
    
    Here, I'm reducing the stack size by marking as many local variables as
    'static const' as I can without changing the actual code.
    
    This is the first of three patches to improve the stack usage in this
    driver. It would be good to have this backported to stabl kernels
    to get all drivers in 'allmodconfig' below the 2048 byte limit so
    we can turn on the frame warning again globally, but I realize that
    the patch is larger than the normal limit for stable backports.
    
    The other two patches do not need to be backported.
    
    Cc: <stable@vger.kernel.org>
    Acked-by: default avatarArend van Spriel <arend.vanspriel@broadcom.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    c503dd38
phy_n.c 917 KB