aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-06 20:52:56 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-06 20:52:56 -0400
commit9e865f58da5ff0a9c19669a49ac984117711757a (patch)
tree21f64e79ac21d794df5a407f10a9326e26d38f17 /drivers
parent111e2a513bac77d317011350f34f9cc30deb9806 (diff)
parentbe1b685fe6c9928848b26b568eaa86ba8ce0046c (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NETFILTER]: Add xt_statistic.h to the header list for usermode programs [BNX2]: Fix suspend/resume problem. [TG3]: Fix suspend/resume problem.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/bnx2.c12
-rw-r--r--drivers/net/tg3.c17
2 files changed, 18 insertions, 11 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index d53dfc5bbae0..24e7f9ab3f5a 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -54,8 +54,8 @@
54 54
55#define DRV_MODULE_NAME "bnx2" 55#define DRV_MODULE_NAME "bnx2"
56#define PFX DRV_MODULE_NAME ": " 56#define PFX DRV_MODULE_NAME ": "
57#define DRV_MODULE_VERSION "1.6.3" 57#define DRV_MODULE_VERSION "1.6.4"
58#define DRV_MODULE_RELDATE "July 16, 2007" 58#define DRV_MODULE_RELDATE "August 3, 2007"
59 59
60#define RUN_AT(x) (jiffies + (x)) 60#define RUN_AT(x) (jiffies + (x))
61 61
@@ -6937,6 +6937,11 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state)
6937 struct bnx2 *bp = netdev_priv(dev); 6937 struct bnx2 *bp = netdev_priv(dev);
6938 u32 reset_code; 6938 u32 reset_code;
6939 6939
6940 /* PCI register 4 needs to be saved whether netif_running() or not.
6941 * MSI address and data need to be saved if using MSI and
6942 * netif_running().
6943 */
6944 pci_save_state(pdev);
6940 if (!netif_running(dev)) 6945 if (!netif_running(dev))
6941 return 0; 6946 return 0;
6942 6947
@@ -6952,7 +6957,6 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state)
6952 reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; 6957 reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL;
6953 bnx2_reset_chip(bp, reset_code); 6958 bnx2_reset_chip(bp, reset_code);
6954 bnx2_free_skbs(bp); 6959 bnx2_free_skbs(bp);
6955 pci_save_state(pdev);
6956 bnx2_set_power_state(bp, pci_choose_state(pdev, state)); 6960 bnx2_set_power_state(bp, pci_choose_state(pdev, state));
6957 return 0; 6961 return 0;
6958} 6962}
@@ -6963,10 +6967,10 @@ bnx2_resume(struct pci_dev *pdev)
6963 struct net_device *dev = pci_get_drvdata(pdev); 6967 struct net_device *dev = pci_get_drvdata(pdev);
6964 struct bnx2 *bp = netdev_priv(dev); 6968 struct bnx2 *bp = netdev_priv(dev);
6965 6969
6970 pci_restore_state(pdev);
6966 if (!netif_running(dev)) 6971 if (!netif_running(dev))
6967 return 0; 6972 return 0;
6968 6973
6969 pci_restore_state(pdev);
6970 bnx2_set_power_state(bp, PCI_D0); 6974 bnx2_set_power_state(bp, PCI_D0);
6971 netif_device_attach(dev); 6975 netif_device_attach(dev);
6972 bnx2_init_nic(bp); 6976 bnx2_init_nic(bp);
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index dc41c055ebb5..58740428dd07 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -64,8 +64,8 @@
64 64
65#define DRV_MODULE_NAME "tg3" 65#define DRV_MODULE_NAME "tg3"
66#define PFX DRV_MODULE_NAME ": " 66#define PFX DRV_MODULE_NAME ": "
67#define DRV_MODULE_VERSION "3.79" 67#define DRV_MODULE_VERSION "3.80"
68#define DRV_MODULE_RELDATE "July 18, 2007" 68#define DRV_MODULE_RELDATE "August 2, 2007"
69 69
70#define TG3_DEF_MAC_MODE 0 70#define TG3_DEF_MAC_MODE 0
71#define TG3_DEF_RX_MODE 0 71#define TG3_DEF_RX_MODE 0
@@ -12111,6 +12111,12 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state)
12111 struct tg3 *tp = netdev_priv(dev); 12111 struct tg3 *tp = netdev_priv(dev);
12112 int err; 12112 int err;
12113 12113
12114 /* PCI register 4 needs to be saved whether netif_running() or not.
12115 * MSI address and data need to be saved if using MSI and
12116 * netif_running().
12117 */
12118 pci_save_state(pdev);
12119
12114 if (!netif_running(dev)) 12120 if (!netif_running(dev))
12115 return 0; 12121 return 0;
12116 12122
@@ -12130,9 +12136,6 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state)
12130 tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE; 12136 tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE;
12131 tg3_full_unlock(tp); 12137 tg3_full_unlock(tp);
12132 12138
12133 /* Save MSI address and data for resume. */
12134 pci_save_state(pdev);
12135
12136 err = tg3_set_power_state(tp, pci_choose_state(pdev, state)); 12139 err = tg3_set_power_state(tp, pci_choose_state(pdev, state));
12137 if (err) { 12140 if (err) {
12138 tg3_full_lock(tp, 0); 12141 tg3_full_lock(tp, 0);
@@ -12160,11 +12163,11 @@ static int tg3_resume(struct pci_dev *pdev)
12160 struct tg3 *tp = netdev_priv(dev); 12163 struct tg3 *tp = netdev_priv(dev);
12161 int err; 12164 int err;
12162 12165
12166 pci_restore_state(tp->pdev);
12167
12163 if (!netif_running(dev)) 12168 if (!netif_running(dev))
12164 return 0; 12169 return 0;
12165 12170
12166 pci_restore_state(tp->pdev);
12167
12168 err = tg3_set_power_state(tp, PCI_D0); 12171 err = tg3_set_power_state(tp, PCI_D0);
12169 if (err) 12172 if (err)
12170 return err; 12173 return err;