diff options
Diffstat (limited to 'drivers/mtd/nand/raw/cafe_nand.c')
| -rw-r--r-- | drivers/mtd/nand/raw/cafe_nand.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/mtd/nand/raw/cafe_nand.c b/drivers/mtd/nand/raw/cafe_nand.c index d8c8c9d1e640..d721f489b38b 100644 --- a/drivers/mtd/nand/raw/cafe_nand.c +++ b/drivers/mtd/nand/raw/cafe_nand.c | |||
| @@ -394,12 +394,13 @@ static int cafe_nand_read_page(struct mtd_info *mtd, struct nand_chip *chip, | |||
| 394 | 394 | ||
| 395 | for (i=0; i<8; i+=2) { | 395 | for (i=0; i<8; i+=2) { |
| 396 | uint32_t tmp = cafe_readl(cafe, NAND_ECC_SYN01 + (i*2)); | 396 | uint32_t tmp = cafe_readl(cafe, NAND_ECC_SYN01 + (i*2)); |
| 397 | syn[i] = cafe->rs->index_of[tmp & 0xfff]; | 397 | |
| 398 | syn[i+1] = cafe->rs->index_of[(tmp >> 16) & 0xfff]; | 398 | syn[i] = cafe->rs->codec->index_of[tmp & 0xfff]; |
| 399 | syn[i+1] = cafe->rs->codec->index_of[(tmp >> 16) & 0xfff]; | ||
| 399 | } | 400 | } |
| 400 | 401 | ||
| 401 | n = decode_rs16(cafe->rs, NULL, NULL, 1367, syn, 0, pos, 0, | 402 | n = decode_rs16(cafe->rs, NULL, NULL, 1367, syn, 0, pos, 0, |
| 402 | pat); | 403 | pat); |
| 403 | 404 | ||
| 404 | for (i = 0; i < n; i++) { | 405 | for (i = 0; i < n; i++) { |
| 405 | int p = pos[i]; | 406 | int p = pos[i]; |
