diff options
author | Michael Walle <michael@walle.cc> | 2023-01-09 15:30:13 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-01-10 15:38:37 +0300 |
commit | 97a89ed101bbb790e80b562f9cb95f0cfd05f430 (patch) | |
tree | a1f58aba00107836b94e29698c65988f2fa5af95 /drivers/net/phy/mxl-gpy.c | |
parent | 7d885863e716757553197687f304da1f538f61e1 (diff) | |
download | linux-97a89ed101bbb790e80b562f9cb95f0cfd05f430.tar.xz |
net: phy: mxl-gpy: disable interrupts on GPY215 by default
The interrupts on the GPY215B and GPY215C are broken and the only viable
fix is to disable them altogether. There is still the possibilty to
opt-in via the device tree.
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/phy/mxl-gpy.c')
-rw-r--r-- | drivers/net/phy/mxl-gpy.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/phy/mxl-gpy.c b/drivers/net/phy/mxl-gpy.c index 147d7a5a9b35..e5972b4ef6e8 100644 --- a/drivers/net/phy/mxl-gpy.c +++ b/drivers/net/phy/mxl-gpy.c @@ -12,6 +12,7 @@ #include <linux/mutex.h> #include <linux/phy.h> #include <linux/polynomial.h> +#include <linux/property.h> #include <linux/netdevice.h> /* PHY ID */ @@ -292,6 +293,10 @@ static int gpy_probe(struct phy_device *phydev) phydev->priv = priv; mutex_init(&priv->mbox_lock); + if (gpy_has_broken_mdint(phydev) && + !device_property_present(dev, "maxlinear,use-broken-interrupts")) + phydev->dev_flags |= PHY_F_NO_IRQ; + fw_version = phy_read(phydev, PHY_FWV); if (fw_version < 0) return fw_version; |