Subject: Re: [PATCH v2 net-next 18/21] net: usb: aqc111: Implement get/set_link_ksettings callbacks

From: Andrew Lunn <[email-masked]>
Date: Tue, 13 Nov 2018 21:50:41 +0100

On Tue, Nov 13, 2018 at 02:45:13PM +0000, Igor Russkikh wrote:
> +static int aqc111_get_link_ksettings(struct net_device *net,
> +				     struct ethtool_link_ksettings *elk)
> +{
> +	struct usbnet *dev = netdev_priv(net);
> +	struct aqc111_data *aqc111_data = dev->driver_priv;
> +	enum usb_device_speed usb_speed = dev->udev->speed;
> +	u32 speed = SPEED_UNKNOWN;
> +
> +	ethtool_link_ksettings_zero_link_mode(elk, supported);
> +	ethtool_link_ksettings_add_link_mode(elk, supported,
> +					     100baseT_Full);
> +	ethtool_link_ksettings_add_link_mode(elk, supported,
> +					     1000baseT_Full);
> +	if (usb_speed == USB_SPEED_SUPER) {
> +		ethtool_link_ksettings_add_link_mode(elk, supported,
> +						     2500baseT_Full);
> +		ethtool_link_ksettings_add_link_mode(elk, supported,
> +						     5000baseT_Full);
> +	}

Hi Igor

We discussed this with the first version of the patches. I think you
should add a comment explaining why 2.5G and 5G is disabled unless
Super speed is available.

> +	if (aqc111_data->autoneg)
> +		bitmap_copy(elk->link_modes.advertising,
> +			    elk->link_modes.supported,
> +			    __ETHTOOL_LINK_MODE_MASK_NBITS);

linkmode_copy(). It is quite new, so you probably don't know about it.

	 Andrew