On Tue, 07 Jul 2020 02:08:13 +0800
"YU, Xiangning" <[email protected]> wrote:
> +static inline s64 get_linkspeed(struct net_device *dev)
This is not performance sensitive and should not be marked inline.
> +{
> + struct ethtool_link_ksettings ecmd;
> +
> + ASSERT_RTNL();
> + if (netif_running(dev) && !__ethtool_get_link_ksettings(dev, &ecmd))
> + /* Convert to bytes per second */
> + return ecmd.base.speed * 1000 * 1000L / 8;
You need to be more careful in handling of devices that return unknown for
speed.
> + return 0;
> +}
> +