aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorLan Chunhe-B25806 <b25806@freescale.com>2010-10-18 03:22:32 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-10-25 10:41:04 -0400
commit0b824d2b10eacd496c608a7c41a046862d48563b (patch)
tree7322d0b478f1ece6312980b77a5313639cf73d13 /drivers/mtd
parent3ab8f2a2e7011c5e83363b42950757e46ef06824 (diff)
P4080/mtd: Fix the freescale lbc issue with 36bit mode
When system uses 36bit physical address, res.start is 36bit physical address. But the function of in_be32 returns 32bit physical address. Then both of them compared each other is wrong. So by converting the address of res.start into the right format fixes this issue. Signed-off-by: Lan Chunhe-B25806 <b25806@freescale.com> Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> Reviewed-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/fsl_elbc_nand.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index cd8de29e38cc..c141b07b25d1 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -868,7 +868,7 @@ static int __devinit fsl_elbc_nand_probe(struct platform_device *pdev)
868 (in_be32(&lbc->bank[bank].br) & BR_MSEL) == BR_MS_FCM && 868 (in_be32(&lbc->bank[bank].br) & BR_MSEL) == BR_MS_FCM &&
869 (in_be32(&lbc->bank[bank].br) & 869 (in_be32(&lbc->bank[bank].br) &
870 in_be32(&lbc->bank[bank].or) & BR_BA) 870 in_be32(&lbc->bank[bank].or) & BR_BA)
871 == res.start) 871 == fsl_lbc_addr(res.start))
872 break; 872 break;
873 873
874 if (bank >= MAX_BANKS) { 874 if (bank >= MAX_BANKS) {