rpms/kernel/FC-5 linux-2.6-net-forcedeth-suspend.patch, NONE, 1.1 kernel-2.6.spec, 1.2225, 1.2226
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Sun Nov 5 20:57:09 UTC 2006
Author: davej
Update of /cvs/dist/rpms/kernel/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv10219
Modified Files:
kernel-2.6.spec
Added Files:
linux-2.6-net-forcedeth-suspend.patch
Log Message:
* Sun Nov 5 2006 Dave Jones <davej at redhat.com>
- Suspend/Resume fixes for forcedeth. (#187653)
linux-2.6-net-forcedeth-suspend.patch:
forcedeth.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+)
--- NEW FILE linux-2.6-net-forcedeth-suspend.patch ---
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 7627a75..b269536 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -3176,6 +3176,50 @@ static void __devexit nv_remove(struct p
pci_set_drvdata(pci_dev, NULL);
}
+
+#ifdef CONFIG_PM
+
+static int nv_suspend(struct pci_dev *pdev, pm_message_t state)
+{
+ struct net_device *dev = pci_get_drvdata(pdev);
+ struct fe_priv *np = netdev_priv(dev);
+
+ if (!netif_running(dev))
+ goto out;
+
+ netif_device_detach(dev);
+
+ // Gross.
+ nv_close(dev);
+
+ pci_save_state(pdev);
+ pci_enable_wake(pdev, pci_choose_state(pdev, state), np->wolenabled);
+ pci_set_power_state(pdev, pci_choose_state(pdev, state));
+out:
+ return 0;
+}
+
+static int nv_resume(struct pci_dev *pdev)
+{
+ struct net_device *dev = pci_get_drvdata(pdev);
+ int rc = 0;
+
+ if (!netif_running(dev))
+ goto out;
+
+ netif_device_attach(dev);
+
+ pci_set_power_state(pdev, PCI_D0);
+ pci_restore_state(pdev);
+ pci_enable_wake(pdev, PCI_D0, 0);
+
+ rc = nv_open(dev);
+out:
+ return rc;
+}
+
+#endif /* CONFIG_PM */
+
static struct pci_device_id pci_tbl[] = {
{ /* nForce Ethernet Controller */
PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_1),
@@ -3245,6 +3289,10 @@ static struct pci_driver driver = {
.id_table = pci_tbl,
.probe = nv_probe,
.remove = __devexit_p(nv_remove),
+#ifdef CONFIG_PM
+ .suspend = nv_suspend,
+ .resume = nv_resume,
+#endif
};
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-5/kernel-2.6.spec,v
retrieving revision 1.2225
retrieving revision 1.2226
diff -u -r1.2225 -r1.2226
--- kernel-2.6.spec 4 Nov 2006 21:39:18 -0000 1.2225
+++ kernel-2.6.spec 5 Nov 2006 20:57:06 -0000 1.2226
@@ -441,6 +441,7 @@
Patch2400: linux-2.6-lockdep-fixes.patch
# Net driver fixes.
+Patch2500: linux-2.6-net-forcedeth-suspend.patch
Patch2501: linux-2.6-net-netpoll-fixes.patch
#
@@ -1022,6 +1023,8 @@
%patch2400 -p1
# Network driver fixes.
+# suspend/resume for forcedeth
+%patch2500 -p1
# Netpoll fixes.
%patch2501 -p1
@@ -1627,6 +1630,9 @@
%endif
%changelog
+* Sun Nov 5 2006 Dave Jones <davej at redhat.com>
+- Suspend/Resume fixes for forcedeth. (#187653)
+
* Sat Nov 4 2006 Dave Jones <davej at redhat.com>
- 2.6.18.2
More information about the fedora-cvs-commits
mailing list