Re: [PATCH v4 2/2] spi: spi-pic32: Add PIC32 SPI master driver

From: Purna Chandra Mandal
Date: Thu Mar 31 2016 - 07:11:22 EST


On 03/30/2016 09:18 PM, Mark Brown wrote:

> 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.

agreed.