From: Kumar Gala Date: Sat, 4 Apr 2009 15:21:02 +0000 (-0500) Subject: fsl_law: Fix bug in calculation of LAW sizing X-Git-Tag: v2009.06-rc1~68^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e6a6789f41f0560ce280089fbd3f1bd0f0f64306;p=u-boot fsl_law: Fix bug in calculation of LAW sizing In set_ddr_laws() when we determined how much of the size requested to be mapped was covered by the the first LAW we needed to recalculate the size based on what was actually mapped. Signed-off-by: Kumar Gala --- diff --git a/drivers/misc/fsl_law.c b/drivers/misc/fsl_law.c index be43a3ecf6..f7d454dce4 100644 --- a/drivers/misc/fsl_law.c +++ b/drivers/misc/fsl_law.c @@ -139,6 +139,9 @@ int set_ddr_laws(u64 start, u64 sz, enum law_trgt_if id) if (set_last_law(start, law_sz_enc, id) < 0) return -1; + /* recalculate size based on what was actually covered by the law */ + law_sz = 1ull << __ilog2_u64(law_sz); + /* do we still have anything to map */ sz = sz - law_sz; if (sz) {