lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f182073-5548-401c-a61c-45163c9a2948@lunn.ch>
Date: Sun, 14 Sep 2025 20:37:08 +0200
From: Andrew Lunn <andrew@...n.ch>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: Mohd Ayaan Anwar <mohd.anwar@....qualcomm.com>,
	Heiner Kallweit <hkallweit1@...il.com>,
	"David S. Miller" <davem@...emloft.net>,
	Eric Dumazet <edumazet@...gle.com>,
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
	netdev@...r.kernel.org, linux-arm-msm@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next] net: phy: qcom: qca808x: Add .get_rate_matching
 support

> So, the bug is likely elsewhere, or your ethernet MAC doesn't support
> SGMII and you need to add complete support for  rate-matching to the
> driver.

Russell beat me too it. Just adding:

static int qca808x_get_features(struct phy_device *phydev)
{
        int ret;

        ret = genphy_c45_pma_read_abilities(phydev);
        if (ret)
                return ret;

        /* The autoneg ability is not existed in bit3 of MMD7.1,
         * but it is supported by qca808x PHY, so we add it here
         * manually.
         */
        linkmode_set_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, phydev->supported);

        /* As for the qca8081 1G version chip, the 2500baseT ability is also
         * existed in the bit0 of MMD1.21, we need to remove it manually if
         * it is the qca8081 1G chip according to the bit0 of MMD7.0x901d.
         */
        if (qca808x_is_1g_only(phydev))
                linkmode_clear_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported);

        return 0;
}

So it appears this PHY breaks the standard in a number of ways. Maybe
it is broken in other ways which need additional workarounds.

	Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ