Messages in this thread | | | Date | Sat, 29 Apr 2006 17:25:53 +0200 | From | Pierre Ossman <> | Subject | Re: Lock-up with modprobe sdhci after suspending to ram |
| |
Jani-Matti Hätinen wrote: > > Ok, this is what I get on Loglevel 9. > If I try to suspend with the module loaded and with a card in the reader I > get: > Stopping tasks: ================================| > ipw2200: Failed to send CARD_DISABLE: Command timed out > ACPI: PCI interrupt for device 0000:01:05.0 disabled > sdhci [sdhci_suspend()]: Suspending... > MMC: starting cmd 07 arg 00000000 flags 00000000 > sdhci [sdhci_send_command()]: Sending cmd (7) > > 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()).
> 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.
Rgds Pierre
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |