projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3ac147f
)
mmc: sdhci-s3c: Do not allow frequencies higher than requested
author
Tomasz Figa
<tomasz.figa@gmail.com>
Sat, 11 Jan 2014 21:39:06 +0000
(22:39 +0100)
committer
Chris Ball
<chris@printf.net>
Mon, 3 Mar 2014 15:23:39 +0000
(10:23 -0500)
This patch modifies sdhci_s3c_consider_clock() to fail if bus clock
being considered can not provide frequency lower or equal requested,
instead of returning the lowest supported.
Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
Acked-by; Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/sdhci-s3c.c
patch
|
blob
|
history
diff --git
a/drivers/mmc/host/sdhci-s3c.c
b/drivers/mmc/host/sdhci-s3c.c
index bad0e00a3e8fca6e236e94b0d8aa86dccd3d6247..d61eb5a708331d54ad9c4ea948bf7cbb4533d8da 100644
(file)
--- a/
drivers/mmc/host/sdhci-s3c.c
+++ b/
drivers/mmc/host/sdhci-s3c.c
@@
-126,11
+126,18
@@
static unsigned int sdhci_s3c_consider_clock(struct sdhci_s3c *ourhost,
rate = ourhost->clk_rates[src];
- for (shift = 0; shift < 8; ++shift) {
+ for (shift = 0; shift <
=
8; ++shift) {
if ((rate >> shift) <= wanted)
break;
}
+ if (shift > 8) {
+ dev_dbg(&ourhost->pdev->dev,
+ "clk %d: rate %ld, min rate %lu > wanted %u\n",
+ src, rate, rate / 256, wanted);
+ return UINT_MAX;
+ }
+
dev_dbg(&ourhost->pdev->dev, "clk %d: rate %ld, want %d, got %ld\n",
src, rate, wanted, rate >> shift);