From: Pekon Gupta Date: Tue, 18 Mar 2014 13:26:46 +0000 (+0530) Subject: mtd: nand: omap: ecc.correct: omap_elm_correct_data: fix programmed-page bit-flip... X-Git-Tag: v3.15-rc1~65^2~58 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13fbe0641ef4132cac936ac352194d2fe9ddf824;p=pandora-kernel.git mtd: nand: omap: ecc.correct: omap_elm_correct_data: fix programmed-page bit-flip correction logic This patch updates following checks when bit-flips are detected by ELM: - Do not evaluate bit-flips when un-correctable bit-flips is reported by ELM, because as per [1] when ELM reports an un-correctable bit-flips, 'number of error' field in its ELM_LOCATION_STATUS register is also invalid. - Return with error-code '-EBADMSG' on detection of un-correctable bit-flip. - Return with error-code '-EBADMSG' when bit-flips position is outside current Sector and OOB area. [1] ELM IP spec Table-25 ELM_LOCATION_STATUS Register. ELM_LOCATION_STATUS[8] = ECC_CORRECTABLE: Error location process exit status 0x0: ECC error location process failed. Number of errors and error locations are invalid. 0x1: all errors were successfully located. Number of errors and error locations are valid. Tested-by: Stefan Roese Signed-off-by: Pekon Gupta Signed-off-by: Brian Norris --- Reading git-diff-tree failed