提交 9e865f58 编写于 作者: L Linus Torvalds

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.
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
#define DRV_MODULE_NAME "bnx2" #define DRV_MODULE_NAME "bnx2"
#define PFX DRV_MODULE_NAME ": " #define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "1.6.3" #define DRV_MODULE_VERSION "1.6.4"
#define DRV_MODULE_RELDATE "July 16, 2007" #define DRV_MODULE_RELDATE "August 3, 2007"
#define RUN_AT(x) (jiffies + (x)) #define RUN_AT(x) (jiffies + (x))
...@@ -6937,6 +6937,11 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state) ...@@ -6937,6 +6937,11 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state)
struct bnx2 *bp = netdev_priv(dev); struct bnx2 *bp = netdev_priv(dev);
u32 reset_code; u32 reset_code;
/* PCI register 4 needs to be saved whether netif_running() or not.
* MSI address and data need to be saved if using MSI and
* netif_running().
*/
pci_save_state(pdev);
if (!netif_running(dev)) if (!netif_running(dev))
return 0; return 0;
...@@ -6952,7 +6957,6 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state) ...@@ -6952,7 +6957,6 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state)
reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL;
bnx2_reset_chip(bp, reset_code); bnx2_reset_chip(bp, reset_code);
bnx2_free_skbs(bp); bnx2_free_skbs(bp);
pci_save_state(pdev);
bnx2_set_power_state(bp, pci_choose_state(pdev, state)); bnx2_set_power_state(bp, pci_choose_state(pdev, state));
return 0; return 0;
} }
...@@ -6963,10 +6967,10 @@ bnx2_resume(struct pci_dev *pdev) ...@@ -6963,10 +6967,10 @@ bnx2_resume(struct pci_dev *pdev)
struct net_device *dev = pci_get_drvdata(pdev); struct net_device *dev = pci_get_drvdata(pdev);
struct bnx2 *bp = netdev_priv(dev); struct bnx2 *bp = netdev_priv(dev);
pci_restore_state(pdev);
if (!netif_running(dev)) if (!netif_running(dev))
return 0; return 0;
pci_restore_state(pdev);
bnx2_set_power_state(bp, PCI_D0); bnx2_set_power_state(bp, PCI_D0);
netif_device_attach(dev); netif_device_attach(dev);
bnx2_init_nic(bp); bnx2_init_nic(bp);
......
...@@ -64,8 +64,8 @@ ...@@ -64,8 +64,8 @@
#define DRV_MODULE_NAME "tg3" #define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": " #define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "3.79" #define DRV_MODULE_VERSION "3.80"
#define DRV_MODULE_RELDATE "July 18, 2007" #define DRV_MODULE_RELDATE "August 2, 2007"
#define TG3_DEF_MAC_MODE 0 #define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0 #define TG3_DEF_RX_MODE 0
...@@ -12111,6 +12111,12 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state) ...@@ -12111,6 +12111,12 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state)
struct tg3 *tp = netdev_priv(dev); struct tg3 *tp = netdev_priv(dev);
int err; int err;
/* PCI register 4 needs to be saved whether netif_running() or not.
* MSI address and data need to be saved if using MSI and
* netif_running().
*/
pci_save_state(pdev);
if (!netif_running(dev)) if (!netif_running(dev))
return 0; return 0;
...@@ -12130,9 +12136,6 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state) ...@@ -12130,9 +12136,6 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state)
tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE; tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE;
tg3_full_unlock(tp); tg3_full_unlock(tp);
/* Save MSI address and data for resume. */
pci_save_state(pdev);
err = tg3_set_power_state(tp, pci_choose_state(pdev, state)); err = tg3_set_power_state(tp, pci_choose_state(pdev, state));
if (err) { if (err) {
tg3_full_lock(tp, 0); tg3_full_lock(tp, 0);
...@@ -12160,11 +12163,11 @@ static int tg3_resume(struct pci_dev *pdev) ...@@ -12160,11 +12163,11 @@ static int tg3_resume(struct pci_dev *pdev)
struct tg3 *tp = netdev_priv(dev); struct tg3 *tp = netdev_priv(dev);
int err; int err;
pci_restore_state(tp->pdev);
if (!netif_running(dev)) if (!netif_running(dev))
return 0; return 0;
pci_restore_state(tp->pdev);
err = tg3_set_power_state(tp, PCI_D0); err = tg3_set_power_state(tp, PCI_D0);
if (err) if (err)
return err; return err;
......
...@@ -28,6 +28,7 @@ header-y += xt_policy.h ...@@ -28,6 +28,7 @@ header-y += xt_policy.h
header-y += xt_realm.h header-y += xt_realm.h
header-y += xt_sctp.h header-y += xt_sctp.h
header-y += xt_state.h header-y += xt_state.h
header-y += xt_statistic.h
header-y += xt_string.h header-y += xt_string.h
header-y += xt_tcpmss.h header-y += xt_tcpmss.h
header-y += xt_tcpudp.h header-y += xt_tcpudp.h
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册