lkml.org 
[lkml]   [2004]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Subject[PATCH]eepro100 resume failure
From
Date
Hi,
After resume from S3, eepro100 driver reported some errors and stop working in my Toshiba
laptop. Below patch fixes it.

Thanks,
Shaohua


Signed-off-by: Li Shaohua<shaohua.li@intel.com>
---

2.6-root/drivers/net/eepro100.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)

diff -puN drivers/net/eepro100.c~eepro100-pm drivers/net/eepro100.c
--- 2.6/drivers/net/eepro100.c~eepro100-pm 2004-11-15 16:06:22.500880880 +0800
+++ 2.6-root/drivers/net/eepro100.c 2004-11-15 16:16:43.057541928 +0800
@@ -2327,7 +2327,7 @@ static int eepro100_suspend(struct pci_d
netif_device_detach(dev);
outl(PortPartialReset, ioaddr + SCBPort);

- /* XXX call pci_set_power_state ()? */
+ pci_set_power_state (pdev, 3);
return 0;
}

@@ -2337,7 +2337,12 @@ static int eepro100_resume(struct pci_de
struct speedo_private *sp = netdev_priv(dev);
long ioaddr = dev->base_addr;

+ pci_set_power_state(pdev, 0);
pci_restore_state(pdev);
+ if (pdev->is_enabled)
+ pci_enable_device(pdev);
+ if (pdev->is_busmaster)
+ pci_set_master(pdev);

if (!netif_running(dev))
return 0;
_


---

2.6-root/drivers/net/eepro100.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)

diff -puN drivers/net/eepro100.c~eepro100-pm drivers/net/eepro100.c
--- 2.6/drivers/net/eepro100.c~eepro100-pm 2004-11-15 16:06:22.500880880 +0800
+++ 2.6-root/drivers/net/eepro100.c 2004-11-15 16:16:43.057541928 +0800
@@ -2327,7 +2327,7 @@ static int eepro100_suspend(struct pci_d
netif_device_detach(dev);
outl(PortPartialReset, ioaddr + SCBPort);

- /* XXX call pci_set_power_state ()? */
+ pci_set_power_state (pdev, 3);
return 0;
}

@@ -2337,7 +2337,12 @@ static int eepro100_resume(struct pci_de
struct speedo_private *sp = netdev_priv(dev);
long ioaddr = dev->base_addr;

+ pci_set_power_state(pdev, 0);
pci_restore_state(pdev);
+ if (pdev->is_enabled)
+ pci_enable_device(pdev);
+ if (pdev->is_busmaster)
+ pci_set_master(pdev);

if (!netif_running(dev))
return 0;
_
\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.033 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site