2006-05-04 07:50:11

by Jani-Matti Hätinen

[permalink] [raw]
Subject: Re: Lock-up with modprobe sdhci after suspending to ram

Pierre Ossman kirjoitti viestiss??n (l?hetysaika lauantai, 29. huhtikuuta 2006
18:25):
> Jani-Matti H?tinen wrote:
> > Ok, this is what I get on Loglevel 9.
> > And if I modprobe sdhci after suspend&resume I get the following:
> > First from the modprobe (not all of it is visible):
> > sdhci: Sys addr: 0xffffffff | Version: 0x0000ffff
> > sdhci: Blk size: 0x0000ffff | Blk cnt: 0x0000ffff
> > sdhci: Argument: 0xffffffff | Trn mode: 0x0000ffff
> > sdhci: Present: 0xffffffff | Host ctl: 0x000000ff
> > sdhci: Power: 0x000000ff | Blk gap: 0x000000ff
> > sdhci: Wake-up: 0x000000ff | Clock: 0x0000ffff
> > sdhci: Timeout: 0x000000ff | Int stat: 0xffffffff
> > sdhci: Int enab: 0xffffffff | Sig enab: 0xffffffff
> > sdhci: AC12 err: 0x0000ffff | Slot int: 0x0000ffff
> > sdhci: Caps: 0xffffffff | Max curr: 0xffffffff
> > sdhci: ===========================================
>
> Now this is horribly broken and would explain why things go south. I
> guess the chip needs a reset early in the detection sequence to function
> properly. Try putting:
>
> sdhci_reset(host, SDHCI_RESET_ALL);
>
> just before the driver does a readl() on the capabilities register (in
> sdhci_probe_slot()).

Sorry for the delay.
I tried that with 2.6.17-rc3, but it doesn't seem to have any effect. The
register values stay the same.

> > Also I just noticed that if the machine has been through at least one
> > suspend&resume cycle, rebooting no longer works. All processes exit
> > cleanly, but the system just hangs when it should shut down.
>
> That's just probably a broken ACPI. Laptops tend to be buggy as hell.
> File a report with the ACPI guys.

I'm not sure if this has any effect on the sdhci issue, but during a normal
suspend&resume (i.e. when sdhci has been rmmoded earlier) I get the following
error about the PCMCIA CardBus slot, which is on the same PCI channel as the
card reader (01:03.0 and 01:03.2 respectively):

May 4 09:37:38 leevi PCMCIA: socket c14d8828: *** DANGER *** unable to remove
socket power

And the PCMCIA slot doesn't work either after a suspend&resume. I haven't
tested FireWire yet (which is also on the same PCI channel 01:03.1), but I
will shortly.

--
Jani-Matti H?tinen


2006-05-05 20:40:54

by Pierre Ossman

[permalink] [raw]
Subject: Re: Lock-up with modprobe sdhci after suspending to ram

Jani-Matti H?tinen wrote:
> I'm not sure if this has any effect on the sdhci issue, but during a normal
> suspend&resume (i.e. when sdhci has been rmmoded earlier) I get the following
> error about the PCMCIA CardBus slot, which is on the same PCI channel as the
> card reader (01:03.0 and 01:03.2 respectively):
>
> May 4 09:37:38 leevi PCMCIA: socket c14d8828: *** DANGER *** unable to remove
> socket power
>
> And the PCMCIA slot doesn't work either after a suspend&resume. I haven't
> tested FireWire yet (which is also on the same PCI channel 01:03.1), but I
> will shortly.
>
>

Sounds like there is something fundamentally broken with your suspend.
It seems like we should hold off on the card reader until the more basic
stuff, like the cardbus slot, works properly after resume.

Rgds
Pierre