public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Cardbus suspend/resume of 3ccfe575bt card fails
@ 2003-08-06 22:27 Russell King
  2003-08-06 22:38 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Russell King @ 2003-08-06 22:27 UTC (permalink / raw)
  To: Linux Kernel List, akpm

Hi akpm,

Yes, I should've reported this sooner.

2.4 and 2.6 kernels exhibit the same problem - upon resume, the card
indicates that it has a 10base link to the hub, but the hub indicates
it has a 100base link.  No traffic is possible.

Unplugging and replugging the card restores the link correctly (100base).

The following is from 2.6.0-test2:

0000:05:00.0: 3Com PCI 3CCFE575BT Cyclone CardBus at 0x1800. Vers LK1.1.19

Before suspend, mii-diag reports:

Basic registers of MII PHY #0:  3000 282d 0300 e54b 00a1 45e1 0001 0000.
 The autonegotiated capability is 00a0.
The autonegotiated media type is 100baseTx.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
 Your link partner advertised 45e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.
   End of basic transceiver information.

After resume, it reports:

Basic registers of MII PHY #0:  ffff ffff ffff ffff ffff ffff ffff ffff.
  No MII transceiver present!.

I suspect this may be caused by the device not being restored correctly:

05:00.0 Class 0200: 10b7:5157 (rev 01)
        Subsystem: 10b7:5b57
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at 1800 [disabled] [size=128]
        Region 1: [virtual] Memory at 10c00000 (32-bit, non-prefetchable) [disabled] [size=128]
        Region 2: [virtual] Memory at 10c00080 (32-bit, non-prefetchable) [disabled] [size=128]
        Expansion ROM at 10800000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 1
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

It looks like 3c59x only saves the PCI config space and restores it if
you have WOL enabled - this is obviously wrong if you're suspending/
resuming a CardBus device.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-08-06 22:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-06 22:27 Cardbus suspend/resume of 3ccfe575bt card fails Russell King
2003-08-06 22:38 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox