Thought this worth posting as it may help folks with SD cards that fail to work.
After upgrading a Model B that had been running fine for a year or so to the latest Raspbian with apt-get, the machine failed to boot. After the first boot stage, there were the common "mmc0: Timeout waiting for hardware interrupt" and clock failing to stabilise errors. As the card had been working fine, the fault was very unlikely to be the card.
I'd seen references to the default value of init_emmc_clock in config.txt as 100000000, but the setting in config.txt was half that at 50000000, evidently an earlier default. Mounting the card onto another system and changing to 100000000 resolved.
I'm wondering if some timeout errors are from cards that are too fast, with responses being missed due to the slower clocking, and it being worth trying different values for init_emmc_clock in those cases.