raspberrypi/linux — pull request #159 by derolf (2012-11-19 11:57:30+00:00)
Title: Lazy CRC quirk: Implemented retrying mechanisms for SD SSR and SCR, disa...

...bled missing_status and spurious CRC ACMD51 quirks by default (should be fixed by the retrying-mechanishm)

People are seeing the following problems at boot time:
- "Problem read SD Status register"
- "Controller never released inhibit bit(s)"
- "error -84 whilst initialising SD card"

I found out that all these three problems seem to be related to CRC problems after the card was reset. It looks like the CRC needs some time to get warm (don't ask me why...) and after a few retries reading SCR and/or SSR everything is fine, and error -84 does not show up on at SWITCH.

I also disabled the missing_status and ACMD51-CRC quirk flags. Both quirks looked like similar, but yet immature tries to attack the same problem. The quirks can still be enabled by kernel params, but I hope that my FIX will not make that necessary...