aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/ubi/build.c
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2014-11-10 10:28:08 -0500
committerRichard Weinberger <richard@nod.at>2015-03-26 17:46:02 -0400
commit111ab0b26fc1bfad575d1e376e146d194d261e22 (patch)
tree451a0a31b6f28d85986569010fa8c3381eb1d622 /drivers/mtd/ubi/build.c
parent42dd3cdcd6b5671ebedc3df76ca8dcc3473bcc67 (diff)
UBI: Fastmap: Locking updates
a) Rename ubi->fm_sem to ubi->fm_eba_sem as this semaphore protects EBA changes. b) Turn ubi->fm_mutex into a rw semaphore. It will still serialize fastmap writes but also ensures that ubi_wl_put_peb() is not interrupted by a fastmap write. We use a rw semaphore to allow ubi_wl_put_peb() still to be executed in parallel if no fastmap write is happening. Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'drivers/mtd/ubi/build.c')
-rw-r--r--drivers/mtd/ubi/build.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 59af91b41f9a..a7571508fdab 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -969,8 +969,8 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
969 mutex_init(&ubi->ckvol_mutex); 969 mutex_init(&ubi->ckvol_mutex);
970 mutex_init(&ubi->device_mutex); 970 mutex_init(&ubi->device_mutex);
971 spin_lock_init(&ubi->volumes_lock); 971 spin_lock_init(&ubi->volumes_lock);
972 mutex_init(&ubi->fm_mutex); 972 init_rwsem(&ubi->fm_protect);
973 init_rwsem(&ubi->fm_sem); 973 init_rwsem(&ubi->fm_eba_sem);
974 974
975 ubi_msg(ubi, "attaching mtd%d", mtd->index); 975 ubi_msg(ubi, "attaching mtd%d", mtd->index);
976 976