• Home
  • Raw
  • Download

Lines Matching refs:ubi

53 unsigned long long ubi_next_sqnum(struct ubi_device *ubi)  in ubi_next_sqnum()  argument
57 spin_lock(&ubi->ltree_lock); in ubi_next_sqnum()
58 sqnum = ubi->global_sqnum++; in ubi_next_sqnum()
59 spin_unlock(&ubi->ltree_lock); in ubi_next_sqnum()
72 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) in ubi_get_compat() argument
89 static struct ubi_ltree_entry *ltree_lookup(struct ubi_device *ubi, int vol_id, in ltree_lookup() argument
94 p = ubi->ltree.rb_node; in ltree_lookup()
128 static struct ubi_ltree_entry *ltree_add_entry(struct ubi_device *ubi, in ltree_add_entry() argument
142 spin_lock(&ubi->ltree_lock); in ltree_add_entry()
143 le1 = ltree_lookup(ubi, vol_id, lnum); in ltree_add_entry()
161 p = &ubi->ltree.rb_node; in ltree_add_entry()
180 rb_insert_color(&le->rb, &ubi->ltree); in ltree_add_entry()
183 spin_unlock(&ubi->ltree_lock); in ltree_add_entry()
198 static int leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum) in leb_read_lock() argument
202 le = ltree_add_entry(ubi, vol_id, lnum); in leb_read_lock()
215 static void leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum) in leb_read_unlock() argument
219 spin_lock(&ubi->ltree_lock); in leb_read_unlock()
220 le = ltree_lookup(ubi, vol_id, lnum); in leb_read_unlock()
225 rb_erase(&le->rb, &ubi->ltree); in leb_read_unlock()
228 spin_unlock(&ubi->ltree_lock); in leb_read_unlock()
240 static int leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum) in leb_write_lock() argument
244 le = ltree_add_entry(ubi, vol_id, lnum); in leb_write_lock()
262 static int leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum) in leb_write_trylock() argument
266 le = ltree_add_entry(ubi, vol_id, lnum); in leb_write_trylock()
273 spin_lock(&ubi->ltree_lock); in leb_write_trylock()
277 rb_erase(&le->rb, &ubi->ltree); in leb_write_trylock()
280 spin_unlock(&ubi->ltree_lock); in leb_write_trylock()
291 static void leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum) in leb_write_unlock() argument
295 spin_lock(&ubi->ltree_lock); in leb_write_unlock()
296 le = ltree_lookup(ubi, vol_id, lnum); in leb_write_unlock()
301 rb_erase(&le->rb, &ubi->ltree); in leb_write_unlock()
304 spin_unlock(&ubi->ltree_lock); in leb_write_unlock()
317 int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_eba_unmap_leb() argument
322 if (ubi->ro_mode) in ubi_eba_unmap_leb()
325 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_unmap_leb()
336 down_read(&ubi->fm_eba_sem); in ubi_eba_unmap_leb()
338 up_read(&ubi->fm_eba_sem); in ubi_eba_unmap_leb()
339 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 0); in ubi_eba_unmap_leb()
342 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_unmap_leb()
365 int ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, in ubi_eba_read_leb() argument
372 err = leb_read_lock(ubi, vol_id, lnum); in ubi_eba_read_leb()
385 leb_read_unlock(ubi, vol_id, lnum); in ubi_eba_read_leb()
399 vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS); in ubi_eba_read_leb()
405 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in ubi_eba_read_leb()
418 ubi_warn(ubi, "corrupted VID header at PEB %d, LEB %d:%d", in ubi_eba_read_leb()
423 ubi_ro_mode(ubi); in ubi_eba_read_leb()
434 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_read_leb()
437 err = ubi_io_read_data(ubi, buf, pnum, offset, len); in ubi_eba_read_leb()
446 ubi_msg(ubi, "force data checking"); in ubi_eba_read_leb()
457 ubi_warn(ubi, "CRC error: calculated %#08x, must be %#08x", in ubi_eba_read_leb()
465 err = ubi_wl_scrub_peb(ubi, pnum); in ubi_eba_read_leb()
467 leb_read_unlock(ubi, vol_id, lnum); in ubi_eba_read_leb()
471 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_read_leb()
473 leb_read_unlock(ubi, vol_id, lnum); in ubi_eba_read_leb()
492 int ubi_eba_read_leb_sg(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_eba_read_leb_sg() argument
508 ret = ubi_eba_read_leb(ubi, vol, lnum, in ubi_eba_read_leb_sg()
550 static int recover_peb(struct ubi_device *ubi, int pnum, int vol_id, int lnum, in recover_peb() argument
553 int err, idx = vol_id2idx(ubi, vol_id), new_pnum, data_size, tries = 0; in recover_peb()
554 struct ubi_volume *vol = ubi->volumes[idx]; in recover_peb()
557 vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS); in recover_peb()
562 new_pnum = ubi_wl_get_peb(ubi); in recover_peb()
564 ubi_free_vid_hdr(ubi, vid_hdr); in recover_peb()
565 up_read(&ubi->fm_eba_sem); in recover_peb()
569 ubi_msg(ubi, "recover PEB %d, move data to PEB %d", in recover_peb()
572 err = ubi_io_read_vid_hdr(ubi, pnum, vid_hdr, 1); in recover_peb()
576 up_read(&ubi->fm_eba_sem); in recover_peb()
580 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in recover_peb()
581 err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr); in recover_peb()
583 up_read(&ubi->fm_eba_sem); in recover_peb()
588 mutex_lock(&ubi->buf_mutex); in recover_peb()
589 memset(ubi->peb_buf + offset, 0xFF, len); in recover_peb()
593 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, offset); in recover_peb()
595 up_read(&ubi->fm_eba_sem); in recover_peb()
600 memcpy(ubi->peb_buf + offset, buf, len); in recover_peb()
602 err = ubi_io_write_data(ubi, ubi->peb_buf, new_pnum, 0, data_size); in recover_peb()
604 mutex_unlock(&ubi->buf_mutex); in recover_peb()
605 up_read(&ubi->fm_eba_sem); in recover_peb()
609 mutex_unlock(&ubi->buf_mutex); in recover_peb()
610 ubi_free_vid_hdr(ubi, vid_hdr); in recover_peb()
613 up_read(&ubi->fm_eba_sem); in recover_peb()
614 ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in recover_peb()
616 ubi_msg(ubi, "data was successfully recovered"); in recover_peb()
620 mutex_unlock(&ubi->buf_mutex); in recover_peb()
622 ubi_wl_put_peb(ubi, vol_id, lnum, new_pnum, 1); in recover_peb()
623 ubi_free_vid_hdr(ubi, vid_hdr); in recover_peb()
631 ubi_warn(ubi, "failed to write to PEB %d", new_pnum); in recover_peb()
632 ubi_wl_put_peb(ubi, vol_id, lnum, new_pnum, 1); in recover_peb()
634 ubi_free_vid_hdr(ubi, vid_hdr); in recover_peb()
637 ubi_msg(ubi, "try again"); in recover_peb()
655 int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, in ubi_eba_write_leb() argument
661 if (ubi->ro_mode) in ubi_eba_write_leb()
664 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb()
673 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
675 ubi_warn(ubi, "failed to write data to PEB %d", pnum); 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()
680 ubi_ro_mode(ubi); in ubi_eba_write_leb()
682 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb()
690 vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS); in ubi_eba_write_leb()
692 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb()
697 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_write_leb()
700 vid_hdr->compat = ubi_get_compat(ubi, vol_id); in ubi_eba_write_leb()
704 pnum = ubi_wl_get_peb(ubi); in ubi_eba_write_leb()
706 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb()
707 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb()
708 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb()
715 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb()
717 ubi_warn(ubi, "failed to write VID header to LEB %d:%d, PEB %d", in ubi_eba_write_leb()
719 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb()
724 err = ubi_io_write_data(ubi, buf, pnum, offset, len); in ubi_eba_write_leb()
726 ubi_warn(ubi, "failed to write %d bytes at offset %d of LEB %d:%d, PEB %d", in ubi_eba_write_leb()
728 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb()
734 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb()
736 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb()
737 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb()
741 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb()
742 ubi_ro_mode(ubi); in ubi_eba_write_leb()
743 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb()
744 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb()
753 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb()
755 ubi_ro_mode(ubi); in ubi_eba_write_leb()
756 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb()
757 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb()
761 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_write_leb()
762 ubi_msg(ubi, "try another PEB"); in ubi_eba_write_leb()
788 int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_eba_write_leb_st() argument
795 if (ubi->ro_mode) in ubi_eba_write_leb_st()
800 len = ALIGN(data_size, ubi->min_io_size); in ubi_eba_write_leb_st()
802 ubi_assert(!(len & (ubi->min_io_size - 1))); in ubi_eba_write_leb_st()
804 vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS); in ubi_eba_write_leb_st()
808 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
810 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb_st()
814 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_write_leb_st()
817 vid_hdr->compat = ubi_get_compat(ubi, vol_id); in ubi_eba_write_leb_st()
827 pnum = ubi_wl_get_peb(ubi); in ubi_eba_write_leb_st()
829 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb_st()
830 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
831 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb_st()
838 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_write_leb_st()
840 ubi_warn(ubi, "failed to write VID header to LEB %d:%d, PEB %d", in ubi_eba_write_leb_st()
842 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb_st()
846 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_write_leb_st()
848 ubi_warn(ubi, "failed to write %d bytes of data to PEB %d", in ubi_eba_write_leb_st()
850 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb_st()
856 up_read(&ubi->fm_eba_sem); in ubi_eba_write_leb_st()
858 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
859 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb_st()
863 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_write_leb_st()
869 ubi_ro_mode(ubi); in ubi_eba_write_leb_st()
870 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
871 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb_st()
875 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_write_leb_st()
877 ubi_ro_mode(ubi); in ubi_eba_write_leb_st()
878 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_write_leb_st()
879 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_write_leb_st()
883 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_write_leb_st()
884 ubi_msg(ubi, "try another PEB"); in ubi_eba_write_leb_st()
905 int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_eba_atomic_leb_change() argument
912 if (ubi->ro_mode) in ubi_eba_atomic_leb_change()
920 err = ubi_eba_unmap_leb(ubi, vol, lnum); in ubi_eba_atomic_leb_change()
923 return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0); in ubi_eba_atomic_leb_change()
926 vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS); in ubi_eba_atomic_leb_change()
930 mutex_lock(&ubi->alc_mutex); in ubi_eba_atomic_leb_change()
931 err = leb_write_lock(ubi, vol_id, lnum); in ubi_eba_atomic_leb_change()
935 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_atomic_leb_change()
938 vid_hdr->compat = ubi_get_compat(ubi, vol_id); in ubi_eba_atomic_leb_change()
948 pnum = ubi_wl_get_peb(ubi); in ubi_eba_atomic_leb_change()
951 up_read(&ubi->fm_eba_sem); in ubi_eba_atomic_leb_change()
958 err = ubi_io_write_vid_hdr(ubi, pnum, vid_hdr); in ubi_eba_atomic_leb_change()
960 ubi_warn(ubi, "failed to write VID header to LEB %d:%d, PEB %d", in ubi_eba_atomic_leb_change()
962 up_read(&ubi->fm_eba_sem); in ubi_eba_atomic_leb_change()
966 err = ubi_io_write_data(ubi, buf, pnum, 0, len); in ubi_eba_atomic_leb_change()
968 ubi_warn(ubi, "failed to write %d bytes of data to PEB %d", in ubi_eba_atomic_leb_change()
970 up_read(&ubi->fm_eba_sem); in ubi_eba_atomic_leb_change()
976 up_read(&ubi->fm_eba_sem); 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()
985 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_atomic_leb_change()
987 mutex_unlock(&ubi->alc_mutex); in ubi_eba_atomic_leb_change()
988 ubi_free_vid_hdr(ubi, vid_hdr); in ubi_eba_atomic_leb_change()
992 if (err != -EIO || !ubi->bad_allowed) { in ubi_eba_atomic_leb_change()
998 ubi_ro_mode(ubi); in ubi_eba_atomic_leb_change()
1002 err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1); in ubi_eba_atomic_leb_change()
1004 ubi_ro_mode(ubi); in ubi_eba_atomic_leb_change()
1008 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_atomic_leb_change()
1009 ubi_msg(ubi, "try another PEB"); in ubi_eba_atomic_leb_change()
1054 int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, in ubi_eba_copy_leb() argument
1068 aldata_size = ALIGN(data_size, ubi->min_io_size); in ubi_eba_copy_leb()
1071 ubi->leb_size - be32_to_cpu(vid_hdr->data_pad); in ubi_eba_copy_leb()
1073 idx = vol_id2idx(ubi, vol_id); in ubi_eba_copy_leb()
1074 spin_lock(&ubi->volumes_lock); in ubi_eba_copy_leb()
1081 vol = ubi->volumes[idx]; in ubi_eba_copy_leb()
1082 spin_unlock(&ubi->volumes_lock); in ubi_eba_copy_leb()
1104 err = leb_write_trylock(ubi, vol_id, lnum); in ubi_eba_copy_leb()
1128 mutex_lock(&ubi->buf_mutex); in ubi_eba_copy_leb()
1130 err = ubi_io_read_data(ubi, ubi->peb_buf, from, 0, aldata_size); in ubi_eba_copy_leb()
1132 ubi_warn(ubi, "error %d while reading data from PEB %d", in ubi_eba_copy_leb()
1150 ubi_calc_data_len(ubi, ubi->peb_buf, data_size); in ubi_eba_copy_leb()
1153 crc = crc32(UBI_CRC32_INIT, ubi->peb_buf, data_size); in ubi_eba_copy_leb()
1167 vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi)); in ubi_eba_copy_leb()
1169 err = ubi_io_write_vid_hdr(ubi, to, vid_hdr); in ubi_eba_copy_leb()
1179 err = ubi_io_read_vid_hdr(ubi, to, vid_hdr, 1); in ubi_eba_copy_leb()
1182 ubi_warn(ubi, "error %d while reading VID header back from PEB %d", in ubi_eba_copy_leb()
1192 err = ubi_io_write_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1205 memset(ubi->peb_buf, 0xFF, aldata_size); in ubi_eba_copy_leb()
1206 err = ubi_io_read_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1209 ubi_warn(ubi, "error %d while reading data back from PEB %d", in ubi_eba_copy_leb()
1220 if (crc != crc32(UBI_CRC32_INIT, ubi->peb_buf, data_size)) { in ubi_eba_copy_leb()
1221 ubi_warn(ubi, "read data back from PEB %d and it is different", in ubi_eba_copy_leb()
1229 down_read(&ubi->fm_eba_sem); in ubi_eba_copy_leb()
1231 up_read(&ubi->fm_eba_sem); in ubi_eba_copy_leb()
1234 mutex_unlock(&ubi->buf_mutex); in ubi_eba_copy_leb()
1236 leb_write_unlock(ubi, vol_id, lnum); in ubi_eba_copy_leb()
1258 static void print_rsvd_warning(struct ubi_device *ubi, in print_rsvd_warning() argument
1266 int min = ubi->beb_rsvd_level / 10; in print_rsvd_warning()
1270 if (ubi->beb_rsvd_pebs > min) in print_rsvd_warning()
1274 ubi_warn(ubi, "cannot reserve enough PEBs for bad PEB handling, reserved %d, need %d", in print_rsvd_warning()
1275 ubi->beb_rsvd_pebs, ubi->beb_rsvd_level); in print_rsvd_warning()
1276 if (ubi->corr_peb_count) in print_rsvd_warning()
1277 ubi_warn(ubi, "%d PEBs are corrupted and not used", in print_rsvd_warning()
1278 ubi->corr_peb_count); in print_rsvd_warning()
1291 int self_check_eba(struct ubi_device *ubi, struct ubi_attach_info *ai_fastmap, in self_check_eba() argument
1301 num_volumes = ubi->vtbl_slots + UBI_INT_VOL_COUNT; in self_check_eba()
1314 vol = ubi->volumes[i]; in self_check_eba()
1335 av = ubi_find_av(ai_scan, idx2vol_id(ubi, i)); in self_check_eba()
1342 av = ubi_find_av(ai_fastmap, idx2vol_id(ubi, i)); in self_check_eba()
1355 ubi_err(ubi, "LEB:%i:%i is PEB:%i instead of %i!", in self_check_eba()
1365 if (!ubi->volumes[i]) in self_check_eba()
1385 int ubi_eba_init(struct ubi_device *ubi, struct ubi_attach_info *ai) in ubi_eba_init() argument
1395 spin_lock_init(&ubi->ltree_lock); in ubi_eba_init()
1396 mutex_init(&ubi->alc_mutex); in ubi_eba_init()
1397 ubi->ltree = RB_ROOT; in ubi_eba_init()
1399 ubi->global_sqnum = ai->max_sqnum + 1; in ubi_eba_init()
1400 num_volumes = ubi->vtbl_slots + UBI_INT_VOL_COUNT; in ubi_eba_init()
1403 vol = ubi->volumes[i]; in ubi_eba_init()
1419 av = ubi_find_av(ai, idx2vol_id(ubi, i)); in ubi_eba_init()
1435 if (ubi->avail_pebs < EBA_RESERVED_PEBS) { in ubi_eba_init()
1436 ubi_err(ubi, "no enough physical eraseblocks (%d, need %d)", in ubi_eba_init()
1437 ubi->avail_pebs, EBA_RESERVED_PEBS); in ubi_eba_init()
1438 if (ubi->corr_peb_count) in ubi_eba_init()
1439 ubi_err(ubi, "%d PEBs are corrupted and not used", in ubi_eba_init()
1440 ubi->corr_peb_count); in ubi_eba_init()
1444 ubi->avail_pebs -= EBA_RESERVED_PEBS; in ubi_eba_init()
1445 ubi->rsvd_pebs += EBA_RESERVED_PEBS; in ubi_eba_init()
1447 if (ubi->bad_allowed) { in ubi_eba_init()
1448 ubi_calculate_reserved(ubi); in ubi_eba_init()
1450 if (ubi->avail_pebs < ubi->beb_rsvd_level) { in ubi_eba_init()
1452 ubi->beb_rsvd_pebs = ubi->avail_pebs; in ubi_eba_init()
1453 print_rsvd_warning(ubi, ai); in ubi_eba_init()
1455 ubi->beb_rsvd_pebs = ubi->beb_rsvd_level; in ubi_eba_init()
1457 ubi->avail_pebs -= ubi->beb_rsvd_pebs; in ubi_eba_init()
1458 ubi->rsvd_pebs += ubi->beb_rsvd_pebs; in ubi_eba_init()
1466 if (!ubi->volumes[i]) in ubi_eba_init()
1468 kfree(ubi->volumes[i]->eba_tbl); in ubi_eba_init()
1469 ubi->volumes[i]->eba_tbl = NULL; in ubi_eba_init()