lkml.org 
[lkml]   [2019]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 019/313] net: phy: micrel: add Asym Pause workaround for KSZ9021
    Date
    From: Hans Andersson <hans.andersson@cellavision.se>

    [ Upstream commit 407d8098cb1ab338199f4753162799a488d87d23 ]

    The Micrel KSZ9031 PHY may fail to establish a link when the Asymmetric
    Pause capability is set. This issue is described in a Silicon Errata
    (DS80000691D or DS80000692D), which advises to always disable the
    capability.

    Micrel KSZ9021 has no errata, but has the same issue with Asymmetric Pause.
    This patch apply the same workaround as the one for KSZ9031.

    Fixes: 3aed3e2a143c ("net: phy: micrel: add Asym Pause workaround")
    Signed-off-by: Hans Andersson <hans.andersson@cellavision.se>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/phy/micrel.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/drivers/net/phy/micrel.c
    +++ b/drivers/net/phy/micrel.c
    @@ -763,6 +763,8 @@ static int ksz9031_get_features(struct p
    * Whenever the device's Asymmetric Pause capability is set to 1,
    * link-up may fail after a link-up to link-down transition.
    *
    + * The Errata Sheet is for ksz9031, but ksz9021 has the same issue
    + *
    * Workaround:
    * Do not enable the Asymmetric Pause capability bit.
    */
    @@ -1076,6 +1078,7 @@ static struct phy_driver ksphy_driver[]
    /* PHY_GBIT_FEATURES */
    .driver_data = &ksz9021_type,
    .probe = kszphy_probe,
    + .get_features = ksz9031_get_features,
    .config_init = ksz9021_config_init,
    .ack_interrupt = kszphy_ack_interrupt,
    .config_intr = kszphy_config_intr,

    \
     
     \ /
      Last update: 2019-10-03 18:25    [W:4.063 / U:0.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site