diff mbox series

[net-next,5/8] net: bcmgenet: Utilize bcmgenet_set_features() during resume/open

Message ID 1576616549-39097-6-git-send-email-opendmb@gmail.com
State Changes Requested
Delegated to: David Miller
Headers show
Series net: bcmgenet: Turn on offloads by default | expand

Commit Message

Doug Berger Dec. 17, 2019, 9:02 p.m. UTC
During driver resume and open, the HW may have lost its context/state,
utilize bcmgenet_set_features() to make sure we do restore the correct
set of features that were previously configured.

Signed-off-by: Doug Berger <opendmb@gmail.com>
---
 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Florian Fainelli Dec. 17, 2019, 11:01 p.m. UTC | #1
On 12/17/19 1:02 PM, Doug Berger wrote:
> During driver resume and open, the HW may have lost its context/state,
> utilize bcmgenet_set_features() to make sure we do restore the correct
> set of features that were previously configured.
> 
> Signed-off-by: Doug Berger <opendmb@gmail.com>

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 8afa675b45da..0df44c7076f1 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2882,6 +2882,11 @@  static int bcmgenet_open(struct net_device *dev)
 
 	init_umac(priv);
 
+	/* Apply features again in case we changed them while interface was
+	 * down
+	 */
+	bcmgenet_set_features(dev, dev->features);
+
 	bcmgenet_set_hw_addr(priv, dev->dev_addr);
 
 	if (priv->internal_phy) {
@@ -3689,6 +3694,9 @@  static int bcmgenet_resume(struct device *d)
 	genphy_config_aneg(dev->phydev);
 	bcmgenet_mii_config(priv->dev, false);
 
+	/* Restore enabled features */
+	bcmgenet_set_features(dev, dev->features);
+
 	bcmgenet_set_hw_addr(priv, dev->dev_addr);
 
 	if (priv->internal_phy) {