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.
Attachment:
signature.asc
Description: PGP signature