[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160330154839.GZ2350@sirena.org.uk>
Date: Wed, 30 Mar 2016 08:48:39 -0700
From: Mark Brown <broonie@...nel.org>
To: Purna Chandra Mandal <purna.mandal@...rochip.com>
Cc: linux-kernel@...r.kernel.org, linux-spi@...r.kernel.org,
Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
Joshua Henderson <digitalpeer@...italpeer.com>,
Ulf Hansson <ulf.hansson@...aro.org>
Subject: Re: [PATCH v4 2/2] spi: spi-pic32: Add PIC32 SPI master driver
On Wed, Mar 30, 2016 at 04:19:16PM +0530, Purna Chandra Mandal wrote:
> On 03/29/2016 09:55 PM, Mark Brown wrote:
> > On Tue, Mar 29, 2016 at 05:32:41PM +0530, Purna Chandra Mandal wrote:
> >> MMC_SPI will have to terminate on-going MMC transactions and it is
> >> done by calling setup(). It is assumed that setup() will always leave
> >> the chip-select deactivated.
> > No, this is just completely broken - that's quite simply not what
> > setup() does. See spi-summary. There is *no* code in the core that
> > terminates ongoing transfers as a result of calling setup(), if that's
> > happening it's a result of triggering error handling.
> Description of spi_setup() in spi.c clearly mentions that "When this
> function returns, the spi device is deselected" and this is only
> possible if (at least) chip-select is deactivated.
This doesn't say anything about any ongoing operations! Trying to do a
setup() with active transfers on the device is just not sensible, it is
intended to be used on an idle device. I would not expect it to work
reliably on an active device.
Download attachment "signature.asc" of type "application/pgp-signature" (474 bytes)
Powered by blists - more mailing lists