On Mon, Sep 03, 2012 at 01:26:26PM -0700, Guenter Roeck wrote: > Actually, spi_master_put() after spi_alloc_master() must _not_ be followed > by kfree(). The memory is already freed with the call to spi_master_put() > through spi_master_class, which registers a release function. Calling both > spi_master_put() and kfree() results in often nasty (and delayed) crashes > elsewhere in the kernel, often in the networking stack. > > This reverts commit eb4af0f5349235df2e4a5057a72fc8962d00308a. > > Cc: Uwe Kleine-Koenig <u.kleine-koe...@pengutronix.de> > Signed-off-by: Guenter Roeck <li...@roeck-us.net> I didn't check the callback, but I introduced eb4af0f5349235df2e4a5057a72fc8962d00308a because I saw the kfree in drivers/spi/spi-imx.c. So I guess this needs fixing, too?!
Best regards Uwe > --- > drivers/spi/spi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c > index 2d9b5bb..6470750 100644 > --- a/drivers/spi/spi.c > +++ b/drivers/spi/spi.c > @@ -1082,8 +1082,7 @@ static struct class spi_master_class = { > * > * The caller is responsible for assigning the bus number and initializing > * the master's methods before calling spi_register_master(); and (after > errors > - * adding the device) calling spi_master_put() and kfree() to prevent a > memory > - * leak. > + * adding the device) calling spi_master_put() to prevent a memory leak. > */ > struct spi_master *spi_alloc_master(struct device *dev, unsigned size) > { -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general