quoted
+static void ax88179a_get_pauseparam(struct net_device *net, struct ethtool_pauseparam *pause)
+{
+ struct usbnet *dev = netdev_priv(net);
+ struct ax88179_data *data;
+ u16 bmcr, lcladv, rmtadv;
+ u8 cap;
+
+ data = dev->driver_priv;
+
+ if (data->chip_version < AX_VERSION_AX88179A)
+ return;
+
+ bmcr = ax88179_mdio_read(net, dev->mii.phy_id, MII_BMCR);
+ lcladv = ax88179_mdio_read(net, dev->mii.phy_id, MII_ADVERTISE);
+ rmtadv = ax88179_mdio_read(net, dev->mii.phy_id, MII_LPA);
+
+ if (!(bmcr & BMCR_ANENABLE)) {
+ pause->autoneg = 0;
+ pause->rx_pause = 0;
+ pause->tx_pause = 0;
The best way to have this correct is to use phylink, but for that you'd need to
have a proper PHY driver instead of using the mii_ API here.
I said the some to one of the other patches.
Do we know what PHYs are being used? Can register 2 and 3 be read to
get the PHY IDs?
Andrew