|
@@ -750,6 +750,7 @@ struct mtd_info *mtd_concat_create(struct mtd_info *subdev[], /* subdevices to c
|
|
|
struct mtd_concat *concat;
|
|
|
uint32_t max_erasesize, curr_erasesize;
|
|
|
int num_erase_region;
|
|
|
+ int max_writebufsize = 0;
|
|
|
|
|
|
printk(KERN_NOTICE "Concatenating MTD devices:\n");
|
|
|
for (i = 0; i < num_devs; i++)
|
|
@@ -776,7 +777,12 @@ struct mtd_info *mtd_concat_create(struct mtd_info *subdev[], /* subdevices to c
|
|
|
concat->mtd.size = subdev[0]->size;
|
|
|
concat->mtd.erasesize = subdev[0]->erasesize;
|
|
|
concat->mtd.writesize = subdev[0]->writesize;
|
|
|
- concat->mtd.writebufsize = subdev[0]->writebufsize;
|
|
|
+
|
|
|
+ for (i = 0; i < num_devs; i++)
|
|
|
+ if (max_writebufsize < subdev[i]->writebufsize)
|
|
|
+ max_writebufsize = subdev[i]->writebufsize;
|
|
|
+ concat->mtd.writebufsize = max_writebufsize;
|
|
|
+
|
|
|
concat->mtd.subpage_sft = subdev[0]->subpage_sft;
|
|
|
concat->mtd.oobsize = subdev[0]->oobsize;
|
|
|
concat->mtd.oobavail = subdev[0]->oobavail;
|