Bug 7959

Summary: tg3 driver has issues with suspend/resume
Product: Drivers Reporter: Jeremie Bouttier (bouttier)
Component: NetworkAssignee: Rafael J. Wysocki (rjwysocki)
Status: CLOSED CODE_FIX    
Severity: normal CC: rjwysocki, romieu
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.20 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: Output of "ethtool -d eth0" right after boot, eth0 being up.
Output of "ethtool -d eth0" after one suspend/resume with eth0 up, next suspend/resume will fail.
Output of "ethtool -d eth0" when eth0 is down : suspend/resume works indefinitely many times, the register dump does not change.

Description Jeremie Bouttier 2007-02-07 09:28:06 UTC
Distribution: Debian Etch/Sid
Hardware Environment: Dell Latitude D420
Problem Description:
I have issues with suspend-to-ram on my machine : using the s2ram binary (0.5) I
can suspend and resume once, but on the second try the system fails to resume
(black screen with "Linu" written in yellow letters on the top line ; does not
answer to network). It seems to be due to the tg3 driver, and happens only when
the corresponding interface is up.

Steps to reproduce:
1) boot in single-user mode (tg3/eth0 is activated, gets address with DHCP)
2) run "s2ram -f", wait 10s, press power button => the system resumes
3) repeat step 2 => the system hangs as indicated above

However if between 1 and 2, I run "ifconfig eth0 down", then the system resumes
fine and I can repeat indefinitely step 2. Alternatively, I can unload the tg3
module before suspending (if I instruct the powersave suspend script to do so,
then suspend-to-ram works also in multi-user+X mode).

This behaviour has been first observed on a 2.6.18 kernel from Debian, and
reproduced on a 2.6.20 mainline kernel.

Below I include the output of "lspci -vvv -xxx -s 09:00.0" (corresponding to the
Ethernet card) and of "dmesg" (with 2.6.20 kernel).
Thanks,

  Jeremie

a) output of "lspci -vvv -xxx -s 09:00.0"
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit
Ethernet PCI Express (rev 02)
        Subsystem: Dell Unknown device 01d6
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 74
        Region 0: Memory at dfcf0000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [48] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable+ DSel=0 DScale=1 PME-
        Capabilities: [50] Vital Product Data
        Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3
Enable+
                Address: 00000000fee00000  Data: 404a
        Capabilities: [d0] Express Endpoint IRQ 0
                Device: Supported: MaxPayload 512 bytes, PhantFunc 0, ExtTag+
                Device: Latency L0s <4us, L1 unlimited
                Device: AtnBtn- AtnInd- PwrInd-
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                Device: MaxPayload 128 bytes, MaxReadReq 4096 bytes
                Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0
                Link: Latency L0s <2us, L1 <64us
                Link: ASPM L1 Enabled RCB 64 bytes CommClk+ ExtSynch-
                Link: Speed 2.5Gb/s, Width x1
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [13c] Virtual Channel
00: e4 14 00 16 06 01 10 00 02 00 00 02 10 00 00 00
10: 04 00 cf df 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 07 00 00 00 28 10 d6 01
30: 00 00 00 00 48 00 00 00 00 00 00 00 03 01 00 00
40: 00 00 00 00 00 00 00 00 01 50 02 c0 00 21 00 64
50: 03 58 b8 00 4d 89 e7 bd 05 d0 87 00 00 00 e0 fe
60: 00 00 00 00 4a 40 00 00 98 02 02 60 00 00 18 76
70: f2 10 00 00 40 00 00 00 34 6c 00 00 00 00 00 00
80: b0 0c 00 00 00 00 00 00 34 00 13 04 82 10 08 24
90: 29 ba 00 01 00 00 00 7b 00 00 00 00 fe 00 00 00
a0: 00 00 00 00 36 00 00 00 00 00 00 00 b2 00 00 00
b0: 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 00
c0: 00 00 00 00 10 40 00 00 0e 00 00 00 00 00 00 00
d0: 10 00 01 00 a2 0f 04 05 00 50 10 00 11 5c 03 00
e0: 42 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

b) output of "dmesg"
Linux version 2.6.20 (root@jimmy) (gcc version 4.1.2 20061115 (prerelease)
(Debian 4.1.1-21)) #1 SMP Wed Feb 7 17:19:39 CET 2007
BIOS-provided physical RAM map:
sanitize start
sanitize end
copy_e820_map() start: 0000000000000000 size: 000000000009f000 end:
000000000009f000 type: 1
copy_e820_map() type is E820_RAM
copy_e820_map() start: 000000000009f000 size: 0000000000001000 end:
00000000000a0000 type: 2
copy_e820_map() start: 0000000000100000 size: 000000003f591400 end:
000000003f691400 type: 1
copy_e820_map() type is E820_RAM
copy_e820_map() start: 000000003f691400 size: 000000000096ec00 end:
0000000040000000 type: 2
copy_e820_map() start: 00000000e0000000 size: 0000000010007000 end:
00000000f0007000 type: 2
copy_e820_map() start: 00000000f0008000 size: 0000000000004000 end:
00000000f000c000 type: 2
copy_e820_map() start: 00000000fec00000 size: 0000000000010000 end:
00000000fec10000 type: 2
copy_e820_map() start: 00000000fed20000 size: 0000000000080000 end:
00000000feda0000 type: 2
copy_e820_map() start: 00000000fee00000 size: 0000000000010000 end:
00000000fee10000 type: 2
copy_e820_map() start: 00000000ffb00000 size: 0000000000500000 end:
0000000100000000 type: 2
 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
 BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003f691400 (usable)
 BIOS-e820: 000000003f691400 - 0000000040000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0007000 (reserved)
 BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fed20000 - 00000000feda0000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
 BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
118MB HIGHMEM available.
896MB LOWMEM available.
Entering add_active_range(0, 0, 259729) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->   229376
  HighMem    229376 ->   259729
early_node_map[1] active PFN ranges
    0:        0 ->   259729
On node 0 totalpages: 259729
  DMA zone: 32 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 4064 pages, LIFO batch:0
  Normal zone: 1760 pages used for memmap
  Normal zone: 223520 pages, LIFO batch:31
  HighMem zone: 237 pages used for memmap
  HighMem zone: 30116 pages, LIFO batch:7
DMI 2.4 present.
ACPI: RSDP (v000 DELL                                  ) @ 0x000fc1d0
ACPI: RSDT (v001 DELL    M07     0x27d60616 ASL  0x00000061) @ 0x3f691a95
ACPI: FADT (v001 DELL    M07     0x27d60616 ASL  0x00000061) @ 0x3f692800
ACPI: MADT (v001 DELL    M07     0x27d60616 ASL  0x00000047) @ 0x3f693000
ACPI: ASF! (v016 DELL    M07     0x27d60616 ASL  0x00000061) @ 0x3f692c00
ACPI: MCFG (v016 DELL    M07     0x27d60616 ASL  0x00000061) @ 0x3f692fc0
ACPI: SSDT (v001  PmRef    CpuPm 0x00003000 INTL 0x20050624) @ 0x3f691b10
ACPI: DSDT (v001 INT430 SYSFexxx 0x00001001 INTL 0x20050624) @ 0x00000000
ACPI: PM-Timer IO Port: 0x1008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 6:14 APIC version 20
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1 6:14 APIC version 20
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 50000000 (gap: 40000000:a0000000)
Detected 1197.349 MHz processor.
Built 1 zonelists.  Total pages: 257700
Kernel command line: root=/dev/mapper/jimmylinux-debian ro single
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 16384 bytes)
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1021156k/1038916k available (1640k kernel code, 17004k reserved, 616k
data, 200k init, 121412k highmem)
virtual kernel memory layout:
    fixmap  : 0xfff4f000 - 0xfffff000   ( 704 kB)
    pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
    vmalloc : 0xf8800000 - 0xff7fe000   ( 111 MB)
    lowmem  : 0xc0000000 - 0xf8000000   ( 896 MB)
      .init : 0xc033c000 - 0xc036e000   ( 200 kB)
      .data : 0xc029a09d - 0xc03343b4   ( 616 kB)
      .text : 0xc0100000 - 0xc029a09d   (1640 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 2397.77 BogoMIPS (lpj=4795544)
Security Framework v1.0.0 initialized
SELinux:  Disabled at boot.
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfe9fbff 00100000 00000000 00000000 0000c1a9
00000000 00000000
monitor/mwait feature present.
using mwait in idle threads.
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU: After all inits, caps: bfe9fbff 00100000 00000000 00002940 0000c1a9
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
ACPI: Core revision 20060707
CPU0: Intel Genuine Intel(R) CPU           U2500  @ 1.20GHz stepping 08
SMP alternatives: switching to SMP code
Booting processor 1/1 eip 3000
Initializing CPU#1
Calibrating delay using timer specific routine.. 2394.85 BogoMIPS (lpj=4789708)
CPU: After generic identify, caps: bfe9fbff 00100000 00000000 00000000 0000c1a9
00000000 00000000
monitor/mwait feature present.
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
CPU: After all inits, caps: bfe9fbff 00100000 00000000 00002940 0000c1a9
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel Genuine Intel(R) CPU           U2500  @ 1.20GHz stepping 08
Total of 2 processors activated (4792.62 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
checking TSC synchronization across 2 CPUs: 
CPU#0 had -980012 usecs TSC skew, fixed it up.
CPU#1 had 980012 usecs TSC skew, fixed it up.
Brought up 2 CPUs
migration_cost=84
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using MMCONFIG
Setting up standard PCI resources
ACPI (exconfig-0455): Dynamic SSDT Load - OemId [ LMPWR] OemTableId [ DELLLOM]
[20060707]
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
Boot video device is 0000:00:02.0
PCI quirk: region 1000-107f claimed by ICH6 ACPI/GPIO/TCO
PCI quirk: region 1080-10bf claimed by ICH6 GPIO
PCI: Transparent bridge - 0000:00:1e.0
PCI: Bus #03 (-#06) is hidden behind transparent bridge #02 (-#03) (try
'pci=assign-busses')
Please report the result to linux-kernel to fix this permanently
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11)
ACPI: PCI Interrupt Link [LNKB] (IRQs *5 7)
ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 11) *3
ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs *3 4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIE._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PXP0._PRT]
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 14 devices
PnPBIOS: Disabled by ACPI PNP
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
pnp: 00:02: ioport range 0x4d0-0x4d1 has been reserved
pnp: 00:02: ioport range 0x1000-0x1005 could not be reserved
pnp: 00:02: ioport range 0x1008-0x100f could not be reserved
pnp: 00:03: ioport range 0xf400-0xf4fe has been reserved
pnp: 00:03: ioport range 0x1006-0x1007 has been reserved
pnp: 00:03: ioport range 0x100a-0x1059 could not be reserved
pnp: 00:03: ioport range 0x1060-0x107f has been reserved
pnp: 00:03: ioport range 0x1080-0x10bf has been reserved
pnp: 00:03: ioport range 0x10c0-0x10df has been reserved
pnp: 00:08: ioport range 0xc80-0xcaf has been reserved
pnp: 00:08: ioport range 0xcbc-0xcff could not be reserved
pnp: 00:08: ioport range 0x910-0x91f has been reserved
pnp: 00:08: ioport range 0x920-0x92f has been reserved
pnp: 00:08: ioport range 0xcbc-0xcbf has been reserved
pnp: 00:08: ioport range 0x930-0x97f has been reserved
pnp: 00:0d: ioport range 0xcb0-0xcbb has been reserved
PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
PCI: Bridge: 0000:00:1c.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1c.1
  IO window: disabled.
  MEM window: dfd00000-dfdfffff
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1c.2
  IO window: disabled.
  MEM window: dfc00000-dfcfffff
  PREFETCH window: disabled.
PCI: Bus 3, cardbus bridge: 0000:02:01.0
  IO window: 00002000-000020ff
  IO window: 00002400-000024ff
  PREFETCH window: 50000000-53ffffff
  MEM window: 54000000-57ffffff
PCI: Bridge: 0000:00:1e.0
  IO window: 2000-2fff
  MEM window: dfb00000-dfbfffff
  PREFETCH window: 50000000-53ffffff
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.0 to 64
ACPI: PCI Interrupt 0000:00:1c.1[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1c.1 to 64
ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1c.2 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
PCI: Enabling device 0000:02:01.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI 19 (level, low) -> IRQ 19
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
checking if image is initramfs... it is
Freeing initrd memory: 5234k freed
audit: initializing netlink socket (disabled)
audit(1170867980.688:1): initialized
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.0:pcie00]
Allocate Port Service[0000:00:1c.0:pcie02]
Allocate Port Service[0000:00:1c.0:pcie03]
PCI: Setting latency timer of device 0000:00:1c.1 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.1:pcie00]
Allocate Port Service[0000:00:1c.1:pcie02]
Allocate Port Service[0000:00:1c.1:pcie03]
PCI: Setting latency timer of device 0000:00:1c.2 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.2:pcie00]
Allocate Port Service[0000:00:1c.2:pcie02]
Allocate Port Service[0000:00:1c.2:pcie03]
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 8
NET: Registered protocol family 20
Starting balanced_irq
Using IPI No-Shortcut mode
ACPI: (supports S0 S3 S4 S5)
Freeing unused kernel memory: 200k freed
input: AT Translated Set 2 keyboard as /class/input/input0
Time: tsc clocksource has been installed.
ACPI (exconfig-0455): Dynamic SSDT Load - OemId [ PmRef] OemTableId [ Cpu0Ist]
[20060707]
ACPI (exconfig-0455): Dynamic SSDT Load - OemId [ PmRef] OemTableId [ Cpu0Cst]
[20060707]
ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])
ACPI: Processor [CPU0] (supports 8 throttling states)
ACPI (exconfig-0455): Dynamic SSDT Load - OemId [ PmRef] OemTableId [ Cpu1Ist]
[20060707]
ACPI (exconfig-0455): Dynamic SSDT Load - OemId [ PmRef] OemTableId [ Cpu1Cst]
[20060707]
ACPI: CPU1 (power states: C1[C1] C2[C2] C3[C3])
ACPI: Processor [CPU1] (supports 8 throttling states)
ACPI: Thermal Zone [THM] (66 C)
Time: acpi_pm clocksource has been installed.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 20 (level, low) -> IRQ 20
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1d.0: irq 20, io base 0x0000bf80
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 21 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.1: irq 21, io base 0x0000bf60
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ieee1394: Initialized config rom entry `ip1394'
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: irq 22, io base 0x0000bf40
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 23 (level, low) -> IRQ 23
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.3: irq 23, io base 0x0000bf20
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
usb 1-2: new full speed USB device using uhci_hcd and address 2
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 20 (level, low) -> IRQ 20
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 5
ehci_hcd 0000:00:1d.7: debug port 1
PCI: cache line size of 32 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: irq 20, io mem 0xffa80000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 8 ports detected
ACPI: PCI Interrupt 0000:02:01.1[B] -> GSI 17 (level, low) -> IRQ 17
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[17]  MMIO=[dfbff800-dfbfffff]  Max
Packet=[2048]  IR/IT contexts=[4/4]
ICH7: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 16 (level, low) -> IRQ 16
ICH7: chipset revision 1
ICH7: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio
Probing IDE interface ide0...
usb 1-2: device not accepting address 2, error -71
hda: TOSHIBA MK6008GAH, ATA DISK drive
usb 5-8: new high speed USB device using ehci_hcd and address 3
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
tg3.c:v3.72 (January 8, 2007)
ACPI: PCI Interrupt 0000:09:00.0[A] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:09:00.0 to 64
eth0: Tigon3 [partno(BCM5752KFBG) rev 6002 PHY(5752)] (PCI Express)
10/100/1000Base-T Ethernet 00:15:c5:5b:b4:25
eth0: RXcsums[1] LinkChgREG[1] MIirq[1] ASF[0] Split[0] WireSpeed[1] TSOcap[1] 
eth0: dma_rwctrl[76180000] dma_mask[64-bit]
hda: max request size: 512KiB
hda: 117210240 sectors (60011 MB), CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
 hda:<6>usb 5-8: configuration #1 chosen from 1 choice
hub 5-8:1.0: USB hub found
hub 5-8:1.0: 7 ports detected
 hda1 hda2 hda3 hda4 < hda5 >
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[374fc0003abd4450]
usb 1-2: new full speed USB device using uhci_hcd and address 4
Probing IDE interface ide1...
usb 1-2: configuration #1 chosen from 1 choice
hub 1-2:1.0: USB hub found
hub 1-2:1.0: 4 ports detected
usb 5-8.1: new high speed USB device using ehci_hcd and address 4
usb 5-8.1: configuration #1 chosen from 1 choice
SCSI subsystem initialized
Initializing USB Mass Storage driver...
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
usb 5-8.7: new low speed USB device using ehci_hcd and address 5
usb 5-8.7: configuration #1 chosen from 1 choice
Attempting manual resume
usb 1-2.3: new full speed USB device using uhci_hcd and address 5
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
usb 1-2.3: configuration #1 chosen from 1 choice
hub 1-2.3:1.0: USB hub found
hub 1-2.3:1.0: 3 ports detected
usb 1-2.4: new full speed USB device using uhci_hcd and address 6
usb 1-2.4: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
usb 1-2.3.2: new full speed USB device using uhci_hcd and address 7
usb 1-2.3.2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver hiddev
input: Logitech USB-PS/2 Optical Mouse as /class/input/input1
input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.7-8.7
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected an Intel 945GM Chipset.
agpgart: Detected 7932K stolen memory.
agpgart: AGP aperture is 256M @ 0xc0000000
input: PC Speaker as /class/input/input2
intel_rng: FWH not detected
Real Time Clock Driver v1.12ac
Yenta: CardBus bridge found at 0000:02:01.0 [1028:01d6]
sdhci: Secure Digital Host Controller Interface driver, 0.12
sdhci: Copyright(c) Pierre Ossman
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
Yenta: ISA IRQ mask 0x0438, PCI irq 19
Socket status: 30000006
Yenta: Raising subordinate bus# of parent bus (#02) from #03 to #06
pcmcia: parent PCI bridge I/O window: 0x2000 - 0x2fff
cs: IO port probe 0x2000-0x2fff: clean.
pcmcia: parent PCI bridge Memory window: 0xdfb00000 - 0xdfbfffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x53ffffff
sdhci: SDHCI controller found at 0000:02:01.2 [1180:0822] (rev 18)
ACPI: PCI Interrupt 0000:02:01.2[C] -> GSI 18 (level, low) -> IRQ 18
mmc0: SDHCI at 0xdfbff700 irq 18 DMA
ACPI: PCI Interrupt 0000:00:1f.3[B] -> GSI 17 (level, low) -> IRQ 17
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb
ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 21 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:1b.0 to 64
input: PS/2 Mouse as /class/input/input3
input: AlpsPS/2 ALPS GlidePoint as /class/input/input4
cs: IO port probe 0x100-0x3af: clean.
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
scsi 0:0:0:0: CD-ROM            HL-DT-ST DVD+-RW GWA4083N B105 PQ: 0 ANSI: 0
usb-storage: device scan complete
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 0:0:0:0: Attached scsi CD-ROM sr0
sr 0:0:0:0: Attached scsi generic sg0 type 5
EXT3 FS on dm-0, internal journal
loop: loaded (max 8 devices)
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on dm-2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1572856k swap on /dev/mapper/jimmylinux-debian--swap.  Priority:-1
extents:1 across:1572856k
pcmcia: Detected deprecated PCMCIA ioctl usage from process: discover.
pcmcia: This interface will soon be removed from the kernel; please expect
breakage unless you upgrade to new tools.
pcmcia: see http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for
details.
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
PM: Writing back config space on device 0000:09:00.0 at offset 1 (was 100506,
writing 100106)
ADDRCONF(NETDEV_UP): eth0: link is not ready
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: no IPv6 routers present
Comment 1 Francois Romieu 2007-02-07 12:29:02 UTC
Jeremie Bouttier:
[...]
> However if between 1 and 2, I run "ifconfig eth0 down", then the system resumes
> fine and I can repeat indefinitely step 2. Alternatively, I can unload the tg3
> module before suspending (if I instruct the powersave suspend script to do so,
> then suspend-to-ram works also in multi-user+X mode).

ethtool allows to dump the register of the tg3 chipset. Can you attach its
output taken at different points in time:
- before the first suspend
- before the second (failing) suspend
- before the second (succeeding) suspend

-- 
Ueimor
Comment 2 Jeremie Bouttier 2007-02-08 05:21:46 UTC
Created attachment 10343 [details]
Output of "ethtool -d eth0" right after boot, eth0 being up.
Comment 3 Jeremie Bouttier 2007-02-08 05:25:53 UTC
Created attachment 10344 [details]
Output of "ethtool -d eth0" after one suspend/resume with eth0 up, next suspend/resume will fail.
Comment 4 Jeremie Bouttier 2007-02-08 05:28:32 UTC
Created attachment 10345 [details]
Output of "ethtool -d eth0" when eth0 is down : suspend/resume works indefinitely many times, the register dump does not change.
Comment 5 Rafael J. Wysocki 2007-05-30 10:40:00 UTC
Is the bug still present in 2.6.22-rc3 and/or in the latest -git ?
Comment 6 Rafael J. Wysocki 2007-06-18 10:05:05 UTC
I'm closing this bug, as it's almost certainly fixed.

Please reopen if necessary.