mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
mtd: nand: omap_gpmc: fix error handling
"err" was an unsigned variable, causing negative error codes to turn into positive values, which are interpreted as an amount of succesfully corrected bitflips (and thus not an error). In particular, this resulted in that if the elm reports uncorrectable errors (-EBADMSG), the MTD layer (and UBI) falsely succeeded. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
001475a0f5
commit
eb54d2c70c
1 changed files with 2 additions and 1 deletions
|
@ -368,8 +368,9 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat,
|
|||
uint32_t error_loc[ELM_MAX_ERROR_COUNT];
|
||||
enum bch_level bch_type;
|
||||
uint32_t i, ecc_flag = 0;
|
||||
uint8_t count, err = 0;
|
||||
uint8_t count;
|
||||
uint32_t byte_pos, bit_pos;
|
||||
int err = 0;
|
||||
|
||||
/* check calculated ecc */
|
||||
for (i = 0; i < ecc->bytes && !ecc_flag; i++) {
|
||||
|
|
Loading…
Reference in a new issue