• Ming Lei's avatar
    USBNET: centralize computing of max rx/tx qlen · a88c32ae
    Ming Lei authored
    This patch centralizes computing of max rx/tx qlen, because:
    
    - RX_QLEN()/TX_QLEN() is called in hot path
    - computing depends on device's usb speed, now we have ls/fs, hs, ss,
    so more checks need to be involved
    - in fact, max rx/tx qlen should not only depend on device USB
    speed, but also depend on ethernet link speed, so we need to
    consider that in future.
    - if SG support is done, max tx qlen may need change too
    
    Generally, hard_mtu and rx_urb_size are changed in bind(), reset()
    and link_reset() callback, and change mtu network operation, this
    patches introduces the API of usbnet_update_max_qlen(), and calls
    it in above path.
    Signed-off-by: default avatarMing Lei <ming.lei@canonical.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a88c32ae
usbnet.c 52.3 KB