• Oliver Neukum's avatar
    net: cdc_ncm: record speed in status method · eb47c274
    Oliver Neukum authored
    Until very recently, the usbnet framework only had support functions
    for devices which reported the link speed by explicitly querying the
    PHY over a MDIO interface. However, the cdc_ncm devices send
    notifications when the link state or link speeds change and do not
    expose the PHY (or modem) directly.
    
    Support funtions (e.g. usbnet_get_link_ksettings_internal()) to directly
    query state recorded by the cdc_ncm driver were added in a previous patch.
    
    So instead of cdc_ncm spewing the link speed into the dmesg buffer,
    record the link speed encoded in these notifications and tell the
    usbnet framework to use the new functions to get link speed/state.
    Link speed/state is now available via ethtool.
    
    This is especially useful given all current RTL8156 devices emit
    a connection/speed status notification every 32ms and this would
    fill the dmesg buffer. This implementation replaces the one
    recently submitted in de658a19 :
       "net: usb: cdc_ncm: don't spew notifications"
    
    v2: rebased on upstream
    v3: changed variable names
    v4: rewrote commit message
    Signed-off-by: default avatarOliver Neukum <oneukum@suse.com>
    Tested-by: default avatarRoland Dreier <roland@kernel.org>
    Signed-off-by: default avatarGrant Grundler <grundler@chromium.org>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    eb47c274
cdc_ncm.c 60.5 KB