fix a crash in mtd_concat when the .sync op is not implemented

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27074 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2011-06-01 02:23:22 +00:00
parent d94e059402
commit edb85626ef
3 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,12 @@
--- a/drivers/mtd/mtdconcat.c
+++ b/drivers/mtd/mtdconcat.c
@@ -619,7 +619,8 @@ static void concat_sync(struct mtd_info
for (i = 0; i < concat->num_subdev; i++) {
struct mtd_info *subdev = concat->subdev[i];
- subdev->sync(subdev);
+ if (subdev->sync)
+ subdev->sync(subdev);
}
}

View File

@ -0,0 +1,12 @@
--- a/drivers/mtd/mtdconcat.c
+++ b/drivers/mtd/mtdconcat.c
@@ -619,7 +619,8 @@ static void concat_sync(struct mtd_info
for (i = 0; i < concat->num_subdev; i++) {
struct mtd_info *subdev = concat->subdev[i];
- subdev->sync(subdev);
+ if (subdev->sync)
+ subdev->sync(subdev);
}
}

View File

@ -0,0 +1,12 @@
--- a/drivers/mtd/mtdconcat.c
+++ b/drivers/mtd/mtdconcat.c
@@ -619,7 +619,8 @@ static void concat_sync(struct mtd_info
for (i = 0; i < concat->num_subdev; i++) {
struct mtd_info *subdev = concat->subdev[i];
- subdev->sync(subdev);
+ if (subdev->sync)
+ subdev->sync(subdev);
}
}