mmc: sdhci: cast unsigned int to unsigned long long to avoid unexpeted error
authorHaibo Chen <haibo.chen@nxp.com>
Mon, 17 Oct 2016 08:18:37 +0000 (10:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Oct 2016 07:01:26 +0000 (03:01 -0400)
commit68b13e229be9368faa34ac226d647bdd7a577e31
treeda13cf19d9fcdbd4af32e069170adbccda98f9be
parentbc7e4a29a556f753ed916cdd90f6f860d7d9a5cb
mmc: sdhci: cast unsigned int to unsigned long long to avoid unexpeted error

commit 02265cd60335a2c1417abae4192611e1fc05a6e5 upstream.

Potentially overflowing expression 1000000 * data->timeout_clks with
type unsigned int is evaluated using 32-bit arithmetic, and then used
in a context that expects an expression of type unsigned long long.

To avoid overflow, cast 1000000U to type unsigned long long.
Special thanks to Coverity.

Fixes: 7f05538af71c ("mmc: sdhci: fix data timeout (part 2)")
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/sdhci.c