From: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
To: Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>
Cc: Fabio Estevam
<fabio.estevam-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
Wolfgang Denk <wd-ynQEQJNshbs@public.gmane.org>,
Detlev Zundel <dzu-ynQEQJNshbs@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Stefano Babic <sbabic-ynQEQJNshbs@public.gmane.org>,
spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Dong Aisheng <b29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [06/10,V2] spi: Add SPI driver for mx233/mx28
Date: Tue, 31 Jul 2012 20:34:04 -0700 [thread overview]
Message-ID: <20120801033404.GA2323@roeck-us.net> (raw)
In-Reply-To: <201208010431.04399.marex-ynQEQJNshbs@public.gmane.org>
Hi Marek,
On Wed, Aug 01, 2012 at 04:31:04AM +0200, Marek Vasut wrote:
> Dear Guenter Roeck,
>
> [...]
>
> > > +static int __devexit mxs_spi_remove(struct platform_device *pdev)
> > > +{
> > > + struct spi_master *host;
> > > + struct mxs_spi *spi;
> > > + struct mxs_ssp *ssp;
> > > +
> > > + host = platform_get_drvdata(pdev);
> > > + spi = spi_master_get_devdata(host);
> > > + ssp = &spi->ssp;
> > > +
> > > + spi_unregister_master(host);
> > > +
> > > + platform_set_drvdata(pdev, NULL);
> > > +
> > > + clk_disable_unprepare(ssp->clk);
> > > +
> > > + spi_master_put(host);
> > > + kfree(host);
> > > +
> >
> > Is the kfree() here and in the probe function really necessary ?
>
> It certainly would seem that way.
>
> > Couple of reasons for asking: No other SPI master driver calls it in the
> > remove function (unless I missed it), most drivers don't call it in the
> > probe function error path, and if I call it in the remove function in a
> > SPI master driver I am working on, and load/unload the module several
> > times in a row, I get a nasty kernel crash.
>
> It seems the spi_master class takes care of that kfree() in
> spi.c:spi_master_release() . Good catch, thanks!
>
Given that, and assuming that spi_master_put() results in the call to
spi_master_release() for both the error case in the probe function and for
the release function, I take it that the kfree() is not needed at all,
and that the documentation for spi_alloc_master() is wrong. Does that sound
reasonable ?
Thanks,
Guenter
------------------------------------------------------------------------------
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/
next prev parent reply other threads:[~2012-08-01 3:34 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-06 6:17 [PATCH 01/10 RESEND] mmc: spi: Move SSP register definitions into separate file Marek Vasut
[not found] ` <1341555449-17507-1-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-07-06 6:17 ` [PATCH 02/10 RESEND] mmc: spi: Rename IMX2[38]_MMC to IMX2[38]_SSP Marek Vasut
2012-07-06 6:17 ` [PATCH 03/10 RESEND] mmc: spi: Add necessary bits into mxs-spi.h Marek Vasut
2012-07-06 6:17 ` [PATCH 04/10 RESEND] mmc: spi: Pull out parts shared between MMC and SPI Marek Vasut
[not found] ` <1341555449-17507-4-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-07-16 7:57 ` Attila Kinali
[not found] ` <20120716095741.85d959fc81ab759b10adcf25-HB9FjVmMKa7tRgLqZ5aouw@public.gmane.org>
2012-07-16 10:59 ` Marek Vasut
[not found] ` <201207161259.15034.marex-ynQEQJNshbs@public.gmane.org>
2012-07-16 11:32 ` Attila Kinali
2012-07-06 6:17 ` [PATCH 05/10 RESEND] mmc: spi: Pull out the SSP clock configuration function Marek Vasut
2012-07-06 6:17 ` [PATCH 06/10 V2] spi: Add SPI driver for mx233/mx28 Marek Vasut
2012-07-31 20:53 ` [06/10,V2] " Guenter Roeck
[not found] ` <20120731205300.GA25721-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 2:31 ` Marek Vasut
[not found] ` <201208010431.04399.marex-ynQEQJNshbs@public.gmane.org>
2012-08-01 3:34 ` Guenter Roeck [this message]
2012-08-01 3:53 ` Shawn Guo
[not found] ` <20120801035333.GB1672-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-08-01 3:35 ` Guenter Roeck
[not found] ` <20120801033559.GB2323-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 4:50 ` Shawn Guo
[not found] ` <20120801045010.GC1672-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-08-01 5:00 ` Marek Vasut
[not found] ` <201208010700.54829.marex-ynQEQJNshbs@public.gmane.org>
2012-08-01 5:29 ` Guenter Roeck
[not found] ` <20120801052947.GA2400-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 5:46 ` Shubhrajyoti Datta
[not found] ` <CAM=Q2csm1m8DCd8__NAUCmk6AN=Czg_=nm4c3ervAgOhOtoMTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-01 6:36 ` Guenter Roeck
[not found] ` <20120801063639.GB2764-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 6:41 ` Marek Vasut
2012-08-01 5:58 ` Shawn Guo
[not found] ` <20120801055854.GE1672-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-08-01 5:42 ` Guenter Roeck
[not found] ` <20120801054228.GA2645-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 6:28 ` Shawn Guo
[not found] ` <20120801062838.GF1672-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-08-01 6:10 ` Marek Vasut
[not found] ` <201208010810.37652.marex-ynQEQJNshbs@public.gmane.org>
2012-08-01 6:39 ` Guenter Roeck
[not found] ` <20120801063936.GC2764-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 6:45 ` Marek Vasut
[not found] ` <201208010845.19361.marex-ynQEQJNshbs@public.gmane.org>
2012-08-01 6:56 ` Guenter Roeck
[not found] ` <20120801065650.GA2928-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 7:50 ` Shawn Guo
[not found] ` <20120801075010.GI1672-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-08-01 14:58 ` Guenter Roeck
2012-08-01 7:40 ` Shawn Guo
2012-08-01 7:38 ` Lothar Waßmann
[not found] ` <20504.56543.699097.320114-VjFSrY7JcPWvSplVBqRQBQ@public.gmane.org>
2012-08-01 8:20 ` Shawn Guo
[not found] ` <20120801074051.GG1672-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-08-01 7:47 ` Shawn Guo
2012-08-01 6:33 ` Guenter Roeck
[not found] ` <20120801063326.GA2764-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2012-08-01 6:40 ` Marek Vasut
2012-08-01 4:48 ` Marek Vasut
2012-08-01 3:48 ` Shawn Guo
2012-07-06 6:17 ` [PATCH 07/10 RESEND] mmc: spi: Pull out common DMA parts from MXS MMC Marek Vasut
2012-07-06 6:17 ` [PATCH 08/10 V2] spi: Add DMA support into SPI driver Marek Vasut
[not found] ` <1341555449-17507-8-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-08-01 6:29 ` Marek Vasut
2012-07-06 6:17 ` [PATCH 09/10] spi: Add SSP/SPI device tree documentation Marek Vasut
2012-07-06 6:17 ` [PATCH 10/10] ARM: mx28: Add SPI pinmux into imx28.dtsi Marek Vasut
2012-07-09 16:53 ` [PATCH 01/10 RESEND] mmc: spi: Move SSP register definitions into separate file Marek Vasut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120801033404.GA2323@roeck-us.net \
--to=linux-0h96xk9xttrk1umjsbkqmq@public.gmane.org \
--cc=b29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
--cc=dzu-ynQEQJNshbs@public.gmane.org \
--cc=fabio.estevam-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=marex-ynQEQJNshbs@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=sbabic-ynQEQJNshbs@public.gmane.org \
--cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=wd-ynQEQJNshbs@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).