Commit d6956ac8 authored by Jisheng Zhang's avatar Jisheng Zhang Committed by David S. Miller

net: mvneta: set rx mode during resume if interface is running

I found a bug by:

0. boot and start dhcp client
1. echo mem > /sys/power/state
2. resume back immediately
3. don't touch dhcp client to renew the lease
4. ping the gateway. No acks

Usually, after step2, the DHCP lease isn't expired, so in theory we
should resume all back. But in fact, it doesn't. It turns out
the rx mode isn't resumed correctly. This patch fixes it by adding
mvneta_set_rx_mode(dev) in the resume hook if interface is running.
Signed-off-by: default avatarJisheng Zhang <jszhang@marvell.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a38d20d7
...@@ -4451,8 +4451,11 @@ static int mvneta_resume(struct device *device) ...@@ -4451,8 +4451,11 @@ static int mvneta_resume(struct device *device)
mvneta_fixed_link_update(pp, dev->phydev); mvneta_fixed_link_update(pp, dev->phydev);
netif_device_attach(dev); netif_device_attach(dev);
if (netif_running(dev)) if (netif_running(dev)) {
mvneta_open(dev); mvneta_open(dev);
mvneta_set_rx_mode(dev);
}
return 0; return 0;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment