diff mbox series

[SRU,jammy/linux-aws,kinetic/linux-aws,19/20] UBUNTU: SAUCE: xen-netfront: call netif_device_attach on resume

Message ID 20220817085150.2078055-24-gerald.yang@canonical.com
State New
Headers show
Series UBUNTU: SAUCE: PM: Hibernate: Enable Hibernation for Xen Based Instance Types | expand

Commit Message

Gerald Yang Aug. 17, 2022, 8:51 a.m. UTC
From: Frank van der Linden <fllinden@amazon.com>

BugLink: https://bugs.launchpad.net/bugs/1968062

When xennet_connect is called in the resume path, it needs
to re-attach the netif, otherwise it will no longer be
found by various operations (such as ethtool ioctls, etc).

Signed-off-by: Frank van der Linden <fllinden@amazon.com>
Reviewed-by: Alakesh Haloi <alakeshh@amazon.com>
Reviewed-by: Vallish Vaidyeshwara <vallish@amazon.com>
(cherry picked from commit d1b942fd87e869b26a5aa1abac29347dbff6ba43 amazon-5.15.y/mainline)
Signed-off-by: Gerald Yang <gerald.yang@canonical.com>
Signed-off-by: Matthew Ruffell <matthew.ruffell@canonical.com>
---
 drivers/net/xen-netfront.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 0304fa9f40dc..8a0829aee3af 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -2501,6 +2501,13 @@  static int xennet_connect(struct net_device *dev)
 			device_unregister(&np->xbdev->dev);
 			return err;
 		}
+	} else {
+		/*
+		 * In the resume / thaw case, the netif needs to be
+		 * reattached, as it was detached in netfront_freeze().
+		 */
+		if (np->freeze_state == NETIF_FREEZE_STATE_FROZEN)
+			netif_device_attach(dev);
 	}
 
 	rtnl_lock();