Re: Lock-up with modprobe sdhci after suspending to ram

Jani-Matti Hätinen
2006-05-04T07:50:11Z

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