From dcab6b06b29017328e1d3f15692a63d305007065 Mon Sep 17 00:00:00 2001 From: nbd Date: Wed, 1 Jun 2011 02:23:22 +0000 Subject: 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 --- .../generic/patches-2.6.37/475-mtd_concat_sync_fix.patch | 12 ++++++++++++ .../generic/patches-2.6.38/474-mtd_concat_sync_fix.patch | 12 ++++++++++++ .../generic/patches-2.6.39/474-mtd_concat_sync_fix.patch | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 target/linux/generic/patches-2.6.37/475-mtd_concat_sync_fix.patch create mode 100644 target/linux/generic/patches-2.6.38/474-mtd_concat_sync_fix.patch create mode 100644 target/linux/generic/patches-2.6.39/474-mtd_concat_sync_fix.patch diff --git a/target/linux/generic/patches-2.6.37/475-mtd_concat_sync_fix.patch b/target/linux/generic/patches-2.6.37/475-mtd_concat_sync_fix.patch new file mode 100644 index 000000000..4e3426b7b --- /dev/null +++ b/target/linux/generic/patches-2.6.37/475-mtd_concat_sync_fix.patch @@ -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); + } + } + diff --git a/target/linux/generic/patches-2.6.38/474-mtd_concat_sync_fix.patch b/target/linux/generic/patches-2.6.38/474-mtd_concat_sync_fix.patch new file mode 100644 index 000000000..4e3426b7b --- /dev/null +++ b/target/linux/generic/patches-2.6.38/474-mtd_concat_sync_fix.patch @@ -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); + } + } + diff --git a/target/linux/generic/patches-2.6.39/474-mtd_concat_sync_fix.patch b/target/linux/generic/patches-2.6.39/474-mtd_concat_sync_fix.patch new file mode 100644 index 000000000..4e3426b7b --- /dev/null +++ b/target/linux/generic/patches-2.6.39/474-mtd_concat_sync_fix.patch @@ -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); + } + } + -- cgit v1.2.3