Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
drivers
/
mtd
/
ubi
/
build.c
diff --git
a/kernel/drivers/mtd/ubi/build.c
b/kernel/drivers/mtd/ubi/build.c
index
22fd19c
..
27de046
100644
(file)
--- a/
kernel/drivers/mtd/ubi/build.c
+++ b/
kernel/drivers/mtd/ubi/build.c
@@
-869,7
+869,7
@@
int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
for (i = 0; i < UBI_MAX_DEVICES; i++) {
ubi = ubi_devices[i];
if (ubi && mtd->index == ubi->mtd->index) {
for (i = 0; i < UBI_MAX_DEVICES; i++) {
ubi = ubi_devices[i];
if (ubi && mtd->index == ubi->mtd->index) {
-
ubi_err(ubi, "
mtd%d is already attached to ubi%d",
+
pr_err("ubi:
mtd%d is already attached to ubi%d",
mtd->index, i);
return -EEXIST;
}
mtd->index, i);
return -EEXIST;
}
@@
-884,7
+884,7
@@
int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
* no sense to attach emulated MTD devices, so we prohibit this.
*/
if (mtd->type == MTD_UBIVOLUME) {
* no sense to attach emulated MTD devices, so we prohibit this.
*/
if (mtd->type == MTD_UBIVOLUME) {
-
ubi_err(ubi, "
refuse attaching mtd%d - it is already emulated on top of UBI",
+
pr_err("ubi:
refuse attaching mtd%d - it is already emulated on top of UBI",
mtd->index);
return -EINVAL;
}
mtd->index);
return -EINVAL;
}
@@
-895,7
+895,7
@@
int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
if (!ubi_devices[ubi_num])
break;
if (ubi_num == UBI_MAX_DEVICES) {
if (!ubi_devices[ubi_num])
break;
if (ubi_num == UBI_MAX_DEVICES) {
-
ubi_err(ubi, "
only %d UBI devices may be created",
+
pr_err("ubi:
only %d UBI devices may be created",
UBI_MAX_DEVICES);
return -ENFILE;
}
UBI_MAX_DEVICES);
return -ENFILE;
}
@@
-905,7
+905,7
@@
int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
/* Make sure ubi_num is not busy */
if (ubi_devices[ubi_num]) {
/* Make sure ubi_num is not busy */
if (ubi_devices[ubi_num]) {
-
ubi_err(ubi, "already exists"
);
+
pr_err("ubi: ubi%i already exists", ubi_num
);
return -EEXIST;
}
}
return -EEXIST;
}
}
@@
-987,6
+987,9
@@
int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
goto out_detach;
}
goto out_detach;
}
+ /* Make device "available" before it becomes accessible via sysfs */
+ ubi_devices[ubi_num] = ubi;
+
err = uif_init(ubi, &ref);
if (err)
goto out_detach;
err = uif_init(ubi, &ref);
if (err)
goto out_detach;
@@
-1031,7
+1034,6
@@
int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
wake_up_process(ubi->bgt_thread);
spin_unlock(&ubi->wl_lock);
wake_up_process(ubi->bgt_thread);
spin_unlock(&ubi->wl_lock);
- ubi_devices[ubi_num] = ubi;
ubi_notify_all(ubi, UBI_VOLUME_ADDED, NULL);
return ubi_num;
ubi_notify_all(ubi, UBI_VOLUME_ADDED, NULL);
return ubi_num;
@@
-1042,6
+1044,7
@@
out_uif:
ubi_assert(ref);
uif_close(ubi);
out_detach:
ubi_assert(ref);
uif_close(ubi);
out_detach:
+ ubi_devices[ubi_num] = NULL;
ubi_wl_close(ubi);
ubi_free_internal_volumes(ubi);
vfree(ubi->vtbl);
ubi_wl_close(ubi);
ubi_free_internal_volumes(ubi);
vfree(ubi->vtbl);