• Jarod Wilson's avatar
    ethernet/atheros/alx: sanitize buffer sizing and padding · c406700c
    Jarod Wilson authored
    This is based on the work done by Przemek Rudy in bug 70761 at
    bugzilla.kernel.org, but with some work done to disentagle and clarify
    things a bit.
    
    Similar to Przemek's work and other drivers, we're adding a padding of 16
    here, but we're also disentangling mtu size calculations from max buffer
    size calculations a bit, and adding ETH_HLEN to the value written into
    ALX_MTU. Hopefully, with a bit more consistency and clarity, things behave
    better here. Sadly, I can only test in my alx-driven E2200, which worked
    just fine before this patch.
    
    In comment #58 of bug 70761, Eugene A. Shatokhin reports that this patch
    does help considerably for a ROSA Linux user of his with an AR8162 network
    adapter when patched into a 4.1.x-based kernel, with several days of
    normal operation where wired network previously wasn't usable without
    setting MTU to 9000 as a work-around.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70761
    CC: "Eugene A. Shatokhin" <eugene.shatokhin@rosalab.ru>
    CC: Przemek Rudy <prudy1@o2.pl>
    CC: Jay Cliburn <jcliburn@gmail.com>
    CC: Chris Snook <chris.snook@gmail.com>
    CC: netdev@vger.kernel.org
    Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c406700c
main.c 36.5 KB