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:
parent
ce82ff0538
commit
68f8718df2
|
@ -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 *
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue