From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [PATCH] SPI: OMAP: fix over-eager devm_xxx() conversion (was: Re: [CFT 07/11] spi: omap2-mcspi: add DMA engine support) Date: Sat, 16 Jun 2012 11:33:34 +0100 Message-ID: <20120616103334.GA27445@n2100.arm.linux.org.uk> References: <20120607110610.GB15973@n2100.arm.linux.org.uk> <20120614115335.GE31187@n2100.arm.linux.org.uk> <20120614120842.GF31187@n2100.arm.linux.org.uk> <20120614125012.GG31187@n2100.arm.linux.org.uk> <20120614140712.GH31187@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Grant Likely Return-path: Content-Disposition: inline In-Reply-To: <20120614140712.GH31187-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spi-devel-general-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: linux-spi.vger.kernel.org Okay, I'm going to queue this up in my tree for -rc as no one seems to be listening to any of the emails I've sent on Thursday. On Thu, Jun 14, 2012 at 03:07:12PM +0100, Russell King - ARM Linux wrote: > From: Russell King > Subject: [PATCH] SPI: OMAP: fix over-eager devm_xxx() conversion > > 1a77b127ae (OMAP : SPI : use devm_* functions) converted the SPI > device controller state to use devm_kzalloc(). Unfortunately, this > is used against an unbound struct device, which results in the > following when the device is eventually bound to its driver: > > ------------[ cut here ]------------ > WARNING: at /home/rmk/git/linux-rmk/drivers/base/dd.c:257 driver_probe_device+0x78/0x21c() > Modules linked in: > Backtrace: > [] (dump_backtrace+0x0/0x10c) from [] (dump_stack+0x18/0x1c) r7:00000000 r6:c01ff28c r5:c040050c r4:00000101 > [] (dump_stack+0x0/0x1c) from [] (warn_slowpath_common+0x58/0x70) > [] (warn_slowpath_common+0x0/0x70) from [] (warn_slowpath_null+0x24/0x2c) > [] (warn_slowpath_null+0x0/0x2c) from [] (driver_probe_device+0x78/0x21c) > [] (driver_probe_device+0x0/0x21c) from [] (__driver_attach+0x6c/0x90) > [] (__driver_attach+0x0/0x90) from [] (bus_for_each_dev+0x58/0x98) > [] (bus_for_each_dev+0x0/0x98) from [] (driver_attach+0x20/0x28) > [] (driver_attach+0x0/0x28) from [] (bus_add_driver+0xb4/0x230) > [] (bus_add_driver+0x0/0x230) from [] (driver_register+0xac/0x138) > [] (driver_register+0x0/0x138) from [] (spi_register_driver+0x4c/0x60) > [] (spi_register_driver+0x0/0x60) from [] (ks8851_init+0x14/0x1c) > [] (ks8851_init+0x0/0x1c) from [] (do_one_initcall+0x9c/0x164) > [] (do_one_initcall+0x0/0x164) from [] (kernel_init+0x128/0x210) > [] (kernel_init+0x0/0x210) from [] (do_exit+0x0/0x72c) > ---[ end trace 4dcda79f5e89dd84 ]--- > ks8851 spi1.0: message enable is 0 > ks8851 spi1.0: eth0: revision 0, MAC 08:00:28:01:4d:c6, IRQ 194, has EEPROM > > Fix this by partially reverting the original commit. > > Signed-off-by: Russell King > --- > drivers/spi/spi-omap2-mcspi.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c > index 9d3409a..6263b0f 100644 > --- a/drivers/spi/spi-omap2-mcspi.c > +++ b/drivers/spi/spi-omap2-mcspi.c > @@ -829,7 +829,7 @@ static int omap2_mcspi_setup(struct spi_device *spi) > mcspi_dma = &mcspi->dma_channels[spi->chip_select]; > > if (!cs) { > - cs = devm_kzalloc(&spi->dev , sizeof *cs, GFP_KERNEL); > + cs = kzalloc(sizeof *cs, GFP_KERNEL); > if (!cs) > return -ENOMEM; > cs->base = mcspi->base + spi->chip_select * 0x14; > @@ -869,6 +869,7 @@ static void omap2_mcspi_cleanup(struct spi_device *spi) > cs = spi->controller_state; > list_del(&cs->node); > > + kfree(cs); > } > > if (spi->chip_select < spi->master->num_chipselect) { > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ------------------------------------------------------------------------------ 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/