From: Brad Bozarth <[email protected]>

Higher spi flash layers expect to be given back a pointer that was
malloced so that it can free the result, but the lower layers return a
pointer that is in the middle of the malloced memory.  Reorder the members
of the lower spi structures so that things work out.

Signed-off-by: Brad Bozarth <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
CC: Haavard Skinnemoen <[email protected]>
---
Jason McMullan: your winbond driver will need a similar change:
        drivers/mtd/spi/winbond.c
        +/* spi_flash needs to be first so upper layers can free() it */
         struct winbond_spi_flash {
        -       const struct winbond_spi_flash_params *params;
                struct spi_flash flash;
        +       const struct winbond_spi_flash_params *params;
         };

 drivers/mtd/spi/atmel.c   |    3 ++-
 drivers/mtd/spi/stmicro.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/spi/atmel.c b/drivers/mtd/spi/atmel.c
index 10fcf0c..a5f51ca 100644
--- a/drivers/mtd/spi/atmel.c
+++ b/drivers/mtd/spi/atmel.c
@@ -39,9 +39,10 @@ struct atmel_spi_flash_params {
        const char      *name;
 };
 
+/* spi_flash needs to be first so upper layers can free() it */
 struct atmel_spi_flash {
-       const struct atmel_spi_flash_params *params;
        struct spi_flash flash;
+       const struct atmel_spi_flash_params *params;
 };
 
 static inline struct atmel_spi_flash *
diff --git a/drivers/mtd/spi/stmicro.c b/drivers/mtd/spi/stmicro.c
index 86324e4..e7dda91 100644
--- a/drivers/mtd/spi/stmicro.c
+++ b/drivers/mtd/spi/stmicro.c
@@ -64,9 +64,10 @@ struct stmicro_spi_flash_params {
        const char *name;
 };
 
+/* spi_flash needs to be first so upper layers can free() it */
 struct stmicro_spi_flash {
-       const struct stmicro_spi_flash_params *params;
        struct spi_flash flash;
+       const struct stmicro_spi_flash_params *params;
 };
 
 static inline struct stmicro_spi_flash *to_stmicro_spi_flash(struct spi_flash
-- 
1.6.0.6

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to