linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <swboyd@chromium.org>
To: Doug Anderson <dianders@chromium.org>
Cc: Mark Brown <broonie@kernel.org>,
	Alok Chauhan <alokc@codeaurora.org>,
	skakit@codeaurora.org, Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-spi <linux-spi@vger.kernel.org>
Subject: Re: [PATCH v4 5/5] spi: spi-geni-qcom: Don't keep a local state variable
Date: Thu, 18 Jun 2020 16:37:55 -0700	[thread overview]
Message-ID: <159252347502.62212.15886549130634139267@swboyd.mtv.corp.google.com> (raw)
In-Reply-To: <CAD=FV=W1y4Z4T13i410zkb27mUxqn+rQE889=ckEEBhbPuci2w@mail.gmail.com>

Quoting Doug Anderson (2020-06-18 15:00:10)
> On Thu, Jun 18, 2020 at 2:52 PM Stephen Boyd <swboyd@chromium.org> wrote:
> >
> > -----8<----
> > diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
> > index d8f03ffb8594..670f83793aa4 100644
> > --- a/drivers/spi/spi-geni-qcom.c
> > +++ b/drivers/spi/spi-geni-qcom.c
> > @@ -121,6 +121,10 @@ static void handle_fifo_timeout(struct spi_master *spi,
> >         spin_lock_irq(&mas->lock);
> >         reinit_completion(&mas->cancel_done);
> >         writel(0, se->base + SE_GENI_TX_WATERMARK_REG);
> > +       /*
> > +        * Make sure we don't finalize a spi transfer that timed out but
> > +        * came in while cancelling.
> > +        */
> >         mas->cur_xfer = NULL;
> >         mas->tx_rem_bytes = mas->rx_rem_bytes = 0;
> >         geni_se_cancel_m_cmd(se);
> 
> Sure.  It gets the point across, though
> spi_finalize_current_transfer() is actually pretty harmless if you
> call it while cancelling.  It just calls a completion.  I'd rather say
> something like "If we're here because the SPI controller was calling
> handle_err() then the transfer is done and we shouldn't hold onto it
> anymore".
> 

Agreed it's mostly harmless. I thought the concern was that 'cur_xfer'
may reference a freed piece of memory so it's best to remove ownership
of the pointer from here so that the irq handler doesn't try to finalize
a transfer that may no longer exist. "Shouldn't hold onto it anymore"
doesn't tell us why it shouldn't be held onto, leaving it to the reader
to figure out why, which isn't good.

  reply	other threads:[~2020-06-18 23:38 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-18 15:06 [PATCH v4 0/5] spi: spi-geni-qcom: Fixes / perf improvements Douglas Anderson
2020-06-18 15:06 ` [PATCH v4 1/5] spi: spi-geni-qcom: No need for irqsave variant of spinlock calls Douglas Anderson
2020-06-18 15:15   ` Mark Brown
2020-06-18 15:06 ` [PATCH v4 2/5] spi: spi-geni-qcom: Mo' betta locking Douglas Anderson
2020-06-18 17:52   ` Stephen Boyd
2020-06-18 15:06 ` [PATCH v4 3/5] spi: spi-geni-qcom: Check for error IRQs Douglas Anderson
2020-06-18 15:06 ` [PATCH v4 4/5] spi: spi-geni-qcom: Actually use our FIFO Douglas Anderson
2020-06-18 15:06 ` [PATCH v4 5/5] spi: spi-geni-qcom: Don't keep a local state variable Douglas Anderson
2020-06-18 17:53   ` Stephen Boyd
2020-06-18 18:05   ` Stephen Boyd
2020-06-18 20:09     ` Doug Anderson
2020-06-18 21:52       ` Stephen Boyd
2020-06-18 22:00         ` Doug Anderson
2020-06-18 23:37           ` Stephen Boyd [this message]
2020-06-19  0:34             ` Doug Anderson
2020-06-18 23:39 ` [PATCH 6/5] spi: spi-geni-qcom: Simplify setup_fifo_xfer() Stephen Boyd
2020-06-19  0:40   ` Doug Anderson
2020-06-20  2:16     ` Stephen Boyd
2020-06-19  9:54   ` Mark Brown
2020-06-18 23:39 ` [PATCH 7/5] spi: spi-geni-qcom: Don't set {tx,rx}_rem_bytes unnecessarily Stephen Boyd
2020-06-19  0:40   ` Doug Anderson
2020-06-19 15:24   ` Mark Brown
2020-06-19 13:28 ` [PATCH v4 0/5] spi: spi-geni-qcom: Fixes / perf improvements Mark Brown
2020-06-22 14:59 ` Mark Brown

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=159252347502.62212.15886549130634139267@swboyd.mtv.corp.google.com \
    --to=swboyd@chromium.org \
    --cc=agross@kernel.org \
    --cc=alokc@codeaurora.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=dianders@chromium.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=skakit@codeaurora.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).