diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 02b11a0814dd42fd1de63fd9575c0279fbc33938..bdae2c59a7509020e7759e097935c420b762b324 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3874,6 +3874,11 @@ out:
 	return 0;
 }
 
+static void rtl_shutdown(struct pci_dev *pdev)
+{
+	rtl8169_suspend(pdev, PMSG_SUSPEND);
+}
+
 #endif /* CONFIG_PM */
 
 static struct pci_driver rtl8169_pci_driver = {
@@ -3884,6 +3889,7 @@ static struct pci_driver rtl8169_pci_driver = {
 #ifdef CONFIG_PM
 	.suspend	= rtl8169_suspend,
 	.resume		= rtl8169_resume,
+	.shutdown	= rtl_shutdown,
 #endif
 };