summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/synopsys
diff options
context:
space:
mode:
authorNiklas Cassel <niklas.cassel@axis.com>2016-10-18 09:20:33 +0200
committerDavid S. Miller <davem@davemloft.net>2016-10-18 10:29:17 -0400
commit902943c0d759a090490b2bf6c91a49395b353653 (patch)
treebba567289852fbbdf898c3379ef9a74b330d76a0 /drivers/net/ethernet/synopsys
parent8d324fd9e1bee59274d67a0a08eac5f7b1573db7 (diff)
downloadlinux-902943c0d759a090490b2bf6c91a49395b353653.tar.bz2
dwc_eth_qos: do not clear pause flags from phy_device->supported
phy_device->supported is originally set by the PHY driver. The ethernet driver should filter phy_device->supported to only contain flags supported by the IP. The IP supports setting rx and tx flow control independently, therefore SUPPORTED_Pause and SUPPORTED_Asym_Pause should not be cleared. If the flags are cleared, pause frames cannot be enabled (even if they are supported by the PHY). Signed-off-by: Niklas Cassel <niklas.cassel@axis.com> Signed-off-by: Jesper Nilsson <jespern@axis.com> Acked-by: Lars Persson <larper@axis.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/synopsys')
-rw-r--r--drivers/net/ethernet/synopsys/dwc_eth_qos.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/synopsys/dwc_eth_qos.c b/drivers/net/ethernet/synopsys/dwc_eth_qos.c
index 0d0053128542..d775729648ef 100644
--- a/drivers/net/ethernet/synopsys/dwc_eth_qos.c
+++ b/drivers/net/ethernet/synopsys/dwc_eth_qos.c
@@ -982,7 +982,8 @@ static int dwceqos_mii_probe(struct net_device *ndev)
if (netif_msg_probe(lp))
phy_attached_info(phydev);
- phydev->supported &= PHY_GBIT_FEATURES;
+ phydev->supported &= PHY_GBIT_FEATURES | SUPPORTED_Pause |
+ SUPPORTED_Asym_Pause;
lp->link = 0;
lp->speed = 0;