I just ran the static analyser cppcheck over the source code of the linux kernel version 3.5-rc5. It said [linux-3.5-rc5/drivers/mmc/core/sd.c:247]: (warning) Logical disjunction always evaluates to true: au > 0 || au <= 9. The source code is if (au > 0 || au <= 9) { I think you might be better off with if (au > 0 && au <= 9) {
Patch queued
A patch referencing this bug report has been merged in Linux v3.6-rc1: commit b63b5e819d5b21ae493c17c356018ffa98d3ee1c Author: Alan Cox <alan@linux.intel.com> Date: Mon Jul 2 18:55:13 2012 +0100 mmc: core: correct invalid error checking