Lines Matching refs:err
322 int err, pnum, vol_id = vol->vol_id; in ubi_eba_unmap_leb() local
327 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_unmap_leb()
328 if (err) in ubi_eba_unmap_leb()
329 return err; in ubi_eba_unmap_leb()
341 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 0); in ubi_eba_unmap_leb()
345 return err; in ubi_eba_unmap_leb()
370 int err, pnum, scrub = 0, vol_id = vol->vol_id; in ubi_eba_read_leb() local
374 err = leb_read_lock(ubi, vol_id, lnum); in ubi_eba_read_leb()
375 if (err) in ubi_eba_read_leb()
376 return err; in ubi_eba_read_leb()
403 err = -ENOMEM; in ubi_eba_read_leb()
407 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in ubi_eba_read_leb()
408 if (err && err != UBI_IO_BITFLIPS) { in ubi_eba_read_leb()
409 if (err > 0) { in ubi_eba_read_leb()
418 if (err == UBI_IO_BAD_HDR_EBADMSG || in ubi_eba_read_leb()
419 err == UBI_IO_BAD_HDR) { in ubi_eba_read_leb()
422 err = -EBADMSG; in ubi_eba_read_leb()
424 err = -EINVAL; in ubi_eba_read_leb()
429 } else if (err == UBI_IO_BITFLIPS) in ubi_eba_read_leb()
439 err = ubi_io_read_data(ubi, buf, pnum, offset, len); in ubi_eba_read_leb()
440 if (err) { in ubi_eba_read_leb()
441 if (err == UBI_IO_BITFLIPS) in ubi_eba_read_leb()
443 else if (mtd_is_eccerr(err)) { in ubi_eba_read_leb()
461 err = -EBADMSG; in ubi_eba_read_leb()
467 err = ubi_wl_scrub_peb(ubi, pnum); in ubi_eba_read_leb()
470 return err; in ubi_eba_read_leb()
476 return err; in ubi_eba_read_leb()
555 int err, idx = vol_id2idx(ubi, vol_id), new_pnum, data_size, tries = 0; in recover_peb() local
574 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in recover_peb()
575 if (err && err != UBI_IO_BITFLIPS) { in recover_peb()
576 if (err > 0) in recover_peb()
577 err = -EIO; in recover_peb()
583 err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr); in recover_peb()
584 if (err) { in recover_peb()
595 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, offset); in recover_peb()
596 if (err && err != UBI_IO_BITFLIPS) { in recover_peb()
604 err = ubi_io_write_data(ubi, ubi->peb_buf, new_pnum, 0, data_size); in recover_peb()
605 if (err) { in recover_peb()
626 return err; in recover_peb()
637 return err; in recover_peb()
660 int err, pnum, tries = 0, vol_id = vol->vol_id; in ubi_eba_write_leb() local
666 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb()
667 if (err) in ubi_eba_write_leb()
668 return err; in ubi_eba_write_leb()
675 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
676 if (err) { in ubi_eba_write_leb()
678 if (err == -EIO && ubi->bad_allowed) in ubi_eba_write_leb()
679 err = recover_peb(ubi, pnum, vol_id, lnum, buf, in ubi_eba_write_leb()
681 if (err) in ubi_eba_write_leb()
685 return err; in ubi_eba_write_leb()
717 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb()
718 if (err) { in ubi_eba_write_leb()
726 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
727 if (err) { in ubi_eba_write_leb()
743 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb()
747 return err; in ubi_eba_write_leb()
755 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb()
756 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_write_leb()
760 return err; in ubi_eba_write_leb()
793 int err, pnum, tries = 0, data_size = len, vol_id = vol->vol_id; in ubi_eba_write_leb_st() local
810 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
811 if (err) { in ubi_eba_write_leb_st()
813 return err; in ubi_eba_write_leb_st()
840 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb_st()
841 if (err) { in ubi_eba_write_leb_st()
848 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_write_leb_st()
849 if (err) { in ubi_eba_write_leb_st()
865 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb_st()
874 return err; in ubi_eba_write_leb_st()
877 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb_st()
878 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_write_leb_st()
882 return err; in ubi_eba_write_leb_st()
910 int err, pnum, old_pnum, tries = 0, vol_id = vol->vol_id; in ubi_eba_atomic_leb_change() local
922 err = ubi_eba_unmap_leb(ubi, vol, lnum); in ubi_eba_atomic_leb_change()
923 if (err) in ubi_eba_atomic_leb_change()
924 return err; in ubi_eba_atomic_leb_change()
933 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_atomic_leb_change()
934 if (err) in ubi_eba_atomic_leb_change()
952 err = pnum; in ubi_eba_atomic_leb_change()
960 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_atomic_leb_change()
961 if (err) { in ubi_eba_atomic_leb_change()
968 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_atomic_leb_change()
969 if (err) { in ubi_eba_atomic_leb_change()
981 err = ubi_wl_put_peb(ubi, vol_id, lnum, old_pnum, 0); in ubi_eba_atomic_leb_change()
982 if (err) in ubi_eba_atomic_leb_change()
991 return err; in ubi_eba_atomic_leb_change()
994 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_atomic_leb_change()
1004 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_atomic_leb_change()
1005 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_atomic_leb_change()
1034 static int is_error_sane(int err) in is_error_sane() argument
1036 if (err == -EIO || err == -ENOMEM || err == UBI_IO_BAD_HDR || in is_error_sane()
1037 err == UBI_IO_BAD_HDR_EBADMSG || err == -ETIMEDOUT) in is_error_sane()
1059 int err, vol_id, lnum, data_size, aldata_size, idx; in ubi_eba_copy_leb() local
1106 err = leb_write_trylock(ubi, vol_id, lnum); in ubi_eba_copy_leb()
1107 if (err) { in ubi_eba_copy_leb()
1120 err = MOVE_CANCEL_RACE; in ubi_eba_copy_leb()
1132 err = ubi_io_read_data(ubi, ubi->peb_buf, from, 0, aldata_size); in ubi_eba_copy_leb()
1133 if (err && err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1135 err, from); in ubi_eba_copy_leb()
1136 err = MOVE_SOURCE_RD_ERR; in ubi_eba_copy_leb()
1171 err = ubi_io_write_vid_hdr(ubi, to, vid_hdr); in ubi_eba_copy_leb()
1172 if (err) { in ubi_eba_copy_leb()
1173 if (err == -EIO) in ubi_eba_copy_leb()
1174 err = MOVE_TARGET_WR_ERR; in ubi_eba_copy_leb()
1181 err = ubi_io_read_vid_hdr(ubi, to, vid_hdr, 1); in ubi_eba_copy_leb()
1182 if (err) { in ubi_eba_copy_leb()
1183 if (err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1185 err, to); in ubi_eba_copy_leb()
1186 if (is_error_sane(err)) in ubi_eba_copy_leb()
1187 err = MOVE_TARGET_RD_ERR; in ubi_eba_copy_leb()
1189 err = MOVE_TARGET_BITFLIPS; in ubi_eba_copy_leb()
1194 err = ubi_io_write_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1195 if (err) { in ubi_eba_copy_leb()
1196 if (err == -EIO) in ubi_eba_copy_leb()
1197 err = MOVE_TARGET_WR_ERR; in ubi_eba_copy_leb()
1208 err = ubi_io_read_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1209 if (err) { in ubi_eba_copy_leb()
1210 if (err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1212 err, to); in ubi_eba_copy_leb()
1213 if (is_error_sane(err)) in ubi_eba_copy_leb()
1214 err = MOVE_TARGET_RD_ERR; in ubi_eba_copy_leb()
1216 err = MOVE_TARGET_BITFLIPS; in ubi_eba_copy_leb()
1225 err = -EINVAL; in ubi_eba_copy_leb()
1239 return err; in ubi_eba_copy_leb()
1389 int i, j, err, num_volumes; in ubi_eba_init() local
1414 err = -ENOMEM; in ubi_eba_init()
1443 err = -ENOSPC; in ubi_eba_init()
1473 return err; in ubi_eba_init()