[U-Boot] spi: ftssp010_spi: Use to_ftssp010_spi() to ensure free correct address

Don't assume slave is always the first member of struct ftssp010_spi. Use to_ftssp010_spi() to ensure free correct address in spi_free_slave().
Signed-off-by: Axel Lin axel.lin@ingics.com --- drivers/spi/ftssp010_spi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/ftssp010_spi.c b/drivers/spi/ftssp010_spi.c index 267e4d8..c7d6480 100644 --- a/drivers/spi/ftssp010_spi.c +++ b/drivers/spi/ftssp010_spi.c @@ -431,7 +431,9 @@ free_out:
void spi_free_slave(struct spi_slave *slave) { - free(slave); + struct ftssp010_spi *chip = to_ftssp010_spi(slave); + + free(chip); }
int spi_claim_bus(struct spi_slave *slave)

On 9 February 2015 at 12:41, Axel Lin axel.lin@ingics.com wrote:
Don't assume slave is always the first member of struct ftssp010_spi. Use to_ftssp010_spi() to ensure free correct address in spi_free_slave().
Signed-off-by: Axel Lin axel.lin@ingics.com
drivers/spi/ftssp010_spi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/ftssp010_spi.c b/drivers/spi/ftssp010_spi.c index 267e4d8..c7d6480 100644 --- a/drivers/spi/ftssp010_spi.c +++ b/drivers/spi/ftssp010_spi.c @@ -431,7 +431,9 @@ free_out:
void spi_free_slave(struct spi_slave *slave) {
free(slave);
struct ftssp010_spi *chip = to_ftssp010_spi(slave);
free(chip);
}
int spi_claim_bus(struct spi_slave *slave)
1.9.1
Applied to u-boot-spi/master
thanks!
participants (2)
-
Axel Lin
-
Jagan Teki