Lines Matching refs:err
327 int err, pnum, vol_id = vol->vol_id; in ubi_eba_unmap_leb() local
332 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_unmap_leb()
333 if (err) in ubi_eba_unmap_leb()
334 return err; in ubi_eba_unmap_leb()
346 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 0); in ubi_eba_unmap_leb()
350 return err; in ubi_eba_unmap_leb()
375 int err, pnum, scrub = 0, vol_id = vol->vol_id; in ubi_eba_read_leb() local
379 err = leb_read_lock(ubi, vol_id, lnum); in ubi_eba_read_leb()
380 if (err) in ubi_eba_read_leb()
381 return err; in ubi_eba_read_leb()
408 err = -ENOMEM; in ubi_eba_read_leb()
412 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in ubi_eba_read_leb()
413 if (err && err != UBI_IO_BITFLIPS) { in ubi_eba_read_leb()
414 if (err > 0) { in ubi_eba_read_leb()
423 if (err == UBI_IO_BAD_HDR_EBADMSG || in ubi_eba_read_leb()
424 err == UBI_IO_BAD_HDR) { in ubi_eba_read_leb()
427 err = -EBADMSG; in ubi_eba_read_leb()
443 err = -EBADMSG; in ubi_eba_read_leb()
445 err = -EINVAL; in ubi_eba_read_leb()
451 } else if (err == UBI_IO_BITFLIPS) in ubi_eba_read_leb()
461 err = ubi_io_read_data(ubi, buf, pnum, offset, len); in ubi_eba_read_leb()
462 if (err) { in ubi_eba_read_leb()
463 if (err == UBI_IO_BITFLIPS) in ubi_eba_read_leb()
465 else if (mtd_is_eccerr(err)) { in ubi_eba_read_leb()
483 err = -EBADMSG; in ubi_eba_read_leb()
489 err = ubi_wl_scrub_peb(ubi, pnum); in ubi_eba_read_leb()
492 return err; in ubi_eba_read_leb()
498 return err; in ubi_eba_read_leb()
575 int err, idx = vol_id2idx(ubi, vol_id), new_pnum, data_size, tries = 0; in recover_peb() local
594 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in recover_peb()
595 if (err && err != UBI_IO_BITFLIPS) { in recover_peb()
596 if (err > 0) in recover_peb()
597 err = -EIO; in recover_peb()
603 err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr); in recover_peb()
604 if (err) { in recover_peb()
615 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, offset); in recover_peb()
616 if (err && err != UBI_IO_BITFLIPS) { in recover_peb()
624 err = ubi_io_write_data(ubi, ubi->peb_buf, new_pnum, 0, data_size); in recover_peb()
625 if (err) { in recover_peb()
646 return err; in recover_peb()
657 return err; in recover_peb()
680 int err, pnum, tries = 0, vol_id = vol->vol_id; in ubi_eba_write_leb() local
686 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb()
687 if (err) in ubi_eba_write_leb()
688 return err; in ubi_eba_write_leb()
695 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
696 if (err) { in ubi_eba_write_leb()
698 if (err == -EIO && ubi->bad_allowed) in ubi_eba_write_leb()
699 err = recover_peb(ubi, pnum, vol_id, lnum, buf, in ubi_eba_write_leb()
701 if (err) in ubi_eba_write_leb()
705 return err; in ubi_eba_write_leb()
737 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb()
738 if (err) { in ubi_eba_write_leb()
746 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
747 if (err) { in ubi_eba_write_leb()
763 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb()
767 return err; in ubi_eba_write_leb()
775 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb()
776 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_write_leb()
780 return err; in ubi_eba_write_leb()
813 int err, pnum, tries = 0, data_size = len, vol_id = vol->vol_id; in ubi_eba_write_leb_st() local
830 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
831 if (err) { in ubi_eba_write_leb_st()
833 return err; in ubi_eba_write_leb_st()
860 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb_st()
861 if (err) { in ubi_eba_write_leb_st()
868 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_write_leb_st()
869 if (err) { in ubi_eba_write_leb_st()
885 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb_st()
894 return err; in ubi_eba_write_leb_st()
897 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb_st()
898 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_write_leb_st()
902 return err; in ubi_eba_write_leb_st()
930 int err, pnum, old_pnum, tries = 0, vol_id = vol->vol_id; in ubi_eba_atomic_leb_change() local
942 err = ubi_eba_unmap_leb(ubi, vol, lnum); in ubi_eba_atomic_leb_change()
943 if (err) in ubi_eba_atomic_leb_change()
944 return err; in ubi_eba_atomic_leb_change()
953 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_atomic_leb_change()
954 if (err) in ubi_eba_atomic_leb_change()
972 err = pnum; in ubi_eba_atomic_leb_change()
980 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_atomic_leb_change()
981 if (err) { in ubi_eba_atomic_leb_change()
988 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_atomic_leb_change()
989 if (err) { in ubi_eba_atomic_leb_change()
1001 err = ubi_wl_put_peb(ubi, vol_id, lnum, old_pnum, 0); in ubi_eba_atomic_leb_change()
1002 if (err) in ubi_eba_atomic_leb_change()
1011 return err; in ubi_eba_atomic_leb_change()
1014 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_atomic_leb_change()
1024 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_atomic_leb_change()
1025 if (err || ++tries > UBI_IO_RETRIES) { in ubi_eba_atomic_leb_change()
1054 static int is_error_sane(int err) in is_error_sane() argument
1056 if (err == -EIO || err == -ENOMEM || err == UBI_IO_BAD_HDR || in is_error_sane()
1057 err == UBI_IO_BAD_HDR_EBADMSG || err == -ETIMEDOUT) in is_error_sane()
1079 int err, vol_id, lnum, data_size, aldata_size, idx; in ubi_eba_copy_leb() local
1126 err = leb_write_trylock(ubi, vol_id, lnum); in ubi_eba_copy_leb()
1127 if (err) { in ubi_eba_copy_leb()
1140 err = MOVE_CANCEL_RACE; in ubi_eba_copy_leb()
1152 err = ubi_io_read_data(ubi, ubi->peb_buf, from, 0, aldata_size); in ubi_eba_copy_leb()
1153 if (err && err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1155 err, from); in ubi_eba_copy_leb()
1156 err = MOVE_SOURCE_RD_ERR; in ubi_eba_copy_leb()
1191 err = ubi_io_write_vid_hdr(ubi, to, vid_hdr); in ubi_eba_copy_leb()
1192 if (err) { in ubi_eba_copy_leb()
1193 if (err == -EIO) in ubi_eba_copy_leb()
1194 err = MOVE_TARGET_WR_ERR; in ubi_eba_copy_leb()
1201 err = ubi_io_read_vid_hdr(ubi, to, vid_hdr, 1); in ubi_eba_copy_leb()
1202 if (err) { in ubi_eba_copy_leb()
1203 if (err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1205 err, to); in ubi_eba_copy_leb()
1206 if (is_error_sane(err)) in ubi_eba_copy_leb()
1207 err = MOVE_TARGET_RD_ERR; in ubi_eba_copy_leb()
1209 err = MOVE_TARGET_BITFLIPS; in ubi_eba_copy_leb()
1214 err = ubi_io_write_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1215 if (err) { in ubi_eba_copy_leb()
1216 if (err == -EIO) in ubi_eba_copy_leb()
1217 err = MOVE_TARGET_WR_ERR; in ubi_eba_copy_leb()
1228 err = ubi_io_read_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1229 if (err) { in ubi_eba_copy_leb()
1230 if (err != UBI_IO_BITFLIPS) { in ubi_eba_copy_leb()
1232 err, to); in ubi_eba_copy_leb()
1233 if (is_error_sane(err)) in ubi_eba_copy_leb()
1234 err = MOVE_TARGET_RD_ERR; in ubi_eba_copy_leb()
1236 err = MOVE_TARGET_BITFLIPS; in ubi_eba_copy_leb()
1245 err = -EINVAL; in ubi_eba_copy_leb()
1259 return err; in ubi_eba_copy_leb()
1409 int i, j, err, num_volumes; in ubi_eba_init() local
1434 err = -ENOMEM; in ubi_eba_init()
1463 err = -ENOSPC; in ubi_eba_init()
1493 return err; in ubi_eba_init()