Lines Matching refs:err
320 int err, pnum, vol_id = vol->vol_id; in ubi_eba_unmap_leb() local
325 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_unmap_leb()
326 if (err) in ubi_eba_unmap_leb()
327 return err; in ubi_eba_unmap_leb()
339 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 0); in ubi_eba_unmap_leb()
343 return err; in ubi_eba_unmap_leb()
368 int err, pnum, scrub = 0, vol_id = vol->vol_id; in ubi_eba_read_leb() local
372 err = leb_read_lock(ubi, vol_id, lnum); in ubi_eba_read_leb()
373 if (err) in ubi_eba_read_leb()
374 return err; in ubi_eba_read_leb()
401 err = -ENOMEM; in ubi_eba_read_leb()
405 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in ubi_eba_read_leb()
406 if (err && err != UBI_IO_BITFLIPS) { in ubi_eba_read_leb()
407 if (err > 0) { in ubi_eba_read_leb()
416 if (err == UBI_IO_BAD_HDR_EBADMSG || in ubi_eba_read_leb()
417 err == UBI_IO_BAD_HDR) { in ubi_eba_read_leb()
420 err = -EBADMSG; in ubi_eba_read_leb()
422 err = -EINVAL; in ubi_eba_read_leb()
427 } else if (err == UBI_IO_BITFLIPS) in ubi_eba_read_leb()
437 err = ubi_io_read_data(ubi, buf, pnum, offset, len); in ubi_eba_read_leb()
438 if (err) { in ubi_eba_read_leb()
439 if (err == UBI_IO_BITFLIPS) in ubi_eba_read_leb()
441 else if (mtd_is_eccerr(err)) { in ubi_eba_read_leb()
459 err = -EBADMSG; in ubi_eba_read_leb()
465 err = ubi_wl_scrub_peb(ubi, pnum); in ubi_eba_read_leb()
468 return err; in ubi_eba_read_leb()
474 return err; in ubi_eba_read_leb()
553 int err, idx = vol_id2idx(ubi, vol_id), new_pnum, data_size, tries = 0; in recover_peb() local
572 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in recover_peb()
573 if (err && err != UBI_IO_BITFLIPS) { in recover_peb()
574 if (err > 0) in recover_peb()
575 err = -EIO; in recover_peb()
581 err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr); in recover_peb()
582 if (err) { in recover_peb()
593 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, offset); in recover_peb()
594 if (err && err != UBI_IO_BITFLIPS) { in recover_peb()
602 err = ubi_io_write_data(ubi, ubi->peb_buf, new_pnum, 0, data_size); in recover_peb()
603 if (err) { in recover_peb()
624 return err; in recover_peb()
635 return err; in recover_peb()
658 int err, pnum, tries = 0, vol_id = vol->vol_id; in ubi_eba_write_leb() local
664 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb()
665 if (err) in ubi_eba_write_leb()
666 return err; in ubi_eba_write_leb()
673 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
674 if (err) { in ubi_eba_write_leb()
676 if (err == -EIO && ubi->bad_allowed) in ubi_eba_write_leb()
677 err = recover_peb(ubi, pnum, vol_id, lnum, buf, in ubi_eba_write_leb()
679 if (err) in ubi_eba_write_leb()
683 return err; in ubi_eba_write_leb()
715 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb()
716 if (err) { in ubi_eba_write_leb()
724 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
725 if (err) { in ubi_eba_write_leb()
741 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb()
745 return err; in ubi_eba_write_leb()
753 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb()
754 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_write_leb()
758 return err; in ubi_eba_write_leb()
791 int err, pnum, tries = 0, data_size = len, vol_id = vol->vol_id; in ubi_eba_write_leb_st() local
808 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
809 if (err) { in ubi_eba_write_leb_st()
811 return err; in ubi_eba_write_leb_st()
838 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb_st()
839 if (err) { in ubi_eba_write_leb_st()
846 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_write_leb_st()
847 if (err) { in ubi_eba_write_leb_st()
863 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb_st()
872 return err; in ubi_eba_write_leb_st()
875 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb_st()
876 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_write_leb_st()
880 return err; in ubi_eba_write_leb_st()
908 int err, pnum, old_pnum, tries = 0, vol_id = vol->vol_id; in ubi_eba_atomic_leb_change() local
920 err = ubi_eba_unmap_leb(ubi, vol, lnum); in ubi_eba_atomic_leb_change()
921 if (err) in ubi_eba_atomic_leb_change()
922 return err; in ubi_eba_atomic_leb_change()
931 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_atomic_leb_change()
932 if (err) in ubi_eba_atomic_leb_change()
950 err = pnum; in ubi_eba_atomic_leb_change()
958 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_atomic_leb_change()
959 if (err) { in ubi_eba_atomic_leb_change()
966 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_atomic_leb_change()
967 if (err) { in ubi_eba_atomic_leb_change()
979 err = ubi_wl_put_peb(ubi, vol_id, lnum, old_pnum, 0); in ubi_eba_atomic_leb_change()
980 if (err) in ubi_eba_atomic_leb_change()
989 return err; in ubi_eba_atomic_leb_change()
992 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_atomic_leb_change()
1002 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_atomic_leb_change()
1003 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_atomic_leb_change()
1032 static int is_error_sane(int err) in is_error_sane() argument
1034 if (err == -EIO || err == -ENOMEM || err == UBI_IO_BAD_HDR || in is_error_sane()
1035 err == UBI_IO_BAD_HDR_EBADMSG || err == -ETIMEDOUT) in is_error_sane()
1057 int err, vol_id, lnum, data_size, aldata_size, idx; in ubi_eba_copy_leb() local
1104 err = leb_write_trylock(ubi, vol_id, lnum); in ubi_eba_copy_leb()
1105 if (err) { in ubi_eba_copy_leb()
1118 err = MOVE_CANCEL_RACE; in ubi_eba_copy_leb()
1130 err = ubi_io_read_data(ubi, ubi->peb_buf, from, 0, aldata_size); in ubi_eba_copy_leb()
1131 if (err && err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1133 err, from); in ubi_eba_copy_leb()
1134 err = MOVE_SOURCE_RD_ERR; in ubi_eba_copy_leb()
1169 err = ubi_io_write_vid_hdr(ubi, to, vid_hdr); in ubi_eba_copy_leb()
1170 if (err) { in ubi_eba_copy_leb()
1171 if (err == -EIO) in ubi_eba_copy_leb()
1172 err = MOVE_TARGET_WR_ERR; in ubi_eba_copy_leb()
1179 err = ubi_io_read_vid_hdr(ubi, to, vid_hdr, 1); in ubi_eba_copy_leb()
1180 if (err) { in ubi_eba_copy_leb()
1181 if (err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1183 err, to); in ubi_eba_copy_leb()
1184 if (is_error_sane(err)) in ubi_eba_copy_leb()
1185 err = MOVE_TARGET_RD_ERR; in ubi_eba_copy_leb()
1187 err = MOVE_TARGET_BITFLIPS; in ubi_eba_copy_leb()
1192 err = ubi_io_write_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1193 if (err) { in ubi_eba_copy_leb()
1194 if (err == -EIO) in ubi_eba_copy_leb()
1195 err = MOVE_TARGET_WR_ERR; in ubi_eba_copy_leb()
1206 err = ubi_io_read_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1207 if (err) { in ubi_eba_copy_leb()
1208 if (err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1210 err, to); in ubi_eba_copy_leb()
1211 if (is_error_sane(err)) in ubi_eba_copy_leb()
1212 err = MOVE_TARGET_RD_ERR; in ubi_eba_copy_leb()
1214 err = MOVE_TARGET_BITFLIPS; in ubi_eba_copy_leb()
1223 err = -EINVAL; in ubi_eba_copy_leb()
1237 return err; in ubi_eba_copy_leb()
1387 int i, j, err, num_volumes; in ubi_eba_init() local
1412 err = -ENOMEM; in ubi_eba_init()
1441 err = -ENOSPC; in ubi_eba_init()
1471 return err; in ubi_eba_init()