[MTD] Fix commandline parser alignement
authorJoern Engel <joern@wohnheim.fh-wedel.de>
Tue, 7 Jun 2005 15:04:29 +0000 (16:04 +0100)
committerThomas Gleixner <tglx@mtd.linutronix.de>
Wed, 29 Jun 2005 12:20:23 +0000 (14:20 +0200)
Add alignment to cmdline.

From: "Timofei V. Bondarenko" <tim@ipi.ac.ru>
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/mtd/cmdlinepart.c

index 60ab4b89a2f93d7f78f439e62d6d6a3ce0977366..ef24837019d3e4e8f4961035a62d1198beb039fb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: cmdlinepart.c,v 1.17 2004/11/26 11:18:47 lavinen Exp $
+ * $Id: cmdlinepart.c,v 1.18 2005/06/07 15:04:26 joern Exp $
  *
  * Read flash partition table from command line
  *
@@ -239,7 +239,8 @@ static int mtdpart_setup_real(char *s)
                                &num_parts,     /* out: number of parts */
                                0,              /* first partition */
                                (unsigned char**)&this_mtd, /* out: extra mem */
-                               mtd_id_len + 1 + sizeof(*this_mtd));
+                               mtd_id_len + 1 + sizeof(*this_mtd) + 
+                               sizeof(void*)-1 /*alignment*/);
                if(!parts)
                {
                        /*
@@ -252,6 +253,9 @@ static int mtdpart_setup_real(char *s)
                         return 0;
                 }
 
+               /* align this_mtd */
+               this_mtd = (struct cmdline_mtd_partition *) 
+                       ALIGN((unsigned long)this_mtd, sizeof(void*));
                /* enter results */         
                this_mtd->parts = parts;
                this_mtd->num_parts = num_parts;