spi flash: fix crash due to spi flash miscommunication

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 <bflinux@yumbrad.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
Brad Bozarth 2009-01-01 22:45:47 -05:00 committed by Wolfgang Denk
parent ce82ff0538
commit 68f8718df2
2 changed files with 4 additions and 2 deletions

View File

@ -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 *

View File

@ -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