• Alex Ng's avatar
    hv_netvsc: fix send buffer failure on MTU change · 0ab09bef
    Alex Ng authored
    If MTU is changed the host would reject the send buffer change.
    This problem is result of recent change to allow changing send
    buffer size.
    
    Every time we change the MTU, we store the previous net_device section
    count before destroying the buffer, but we don’t store the previous
    section size. When we reinitialize the buffer, its size is calculated
    by multiplying the previous count and previous size. Since we
    continuously increase the MTU, the host returns us a decreasing count
    value while the section size is reinitialized to 1728 bytes every
    time.
    
    This eventually leads to a condition where the calculated buf_size is
    so small that the host rejects it.
    
    Fixes: 8b532797 ("netvsc: allow controlling send/recv buffer size")
    Signed-off-by: default avatarAlex Ng <alexng@microsoft.com>
    Signed-off-by: default avatarStephen Hemminger <sthemmin@microsoft.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0ab09bef
netvsc_drv.c 53.6 KB