Re: Regression: spi: core: avoid waking pump thread from spi_sync instead run teardown delayed

From: Mark Brown
Date: Tue Jan 15 2019 - 14:26:27 EST


On Tue, Jan 15, 2019 at 06:39:27PM +0100, kernel@xxxxxxxxxxxxxxxx wrote:

> Is it possible that the specific flash is not using the ânormalâ
> spi_pump_message, but spi_controller_mem_ops operations?

Right, that's my best guess at the minute as well.

> Maybe we are missing the teardown in that driver or something is
> changing flags there.

> grepping a bit:

> I see spi_mem_access_start calling spi_flush_queue, which is calling
> pump_message, which - if there is no transfer - will trigger a delayed
> tear-down, while it maybe should not be doing that.

If nothing else it's inefficient.

> Maybe spi_mem_access_end needs a call to spi_flush_queue as well?

Hrm, or needs to schedule the queue at any rate (though this will only
have an impact in the fairly unusual case where there's something
sharing the bus with a flash).

> Unfortunately this is theoretical work and quite a lot of guesswork
> without an actual device available for testing...

Indeed.

Attachment: signature.asc
Description: PGP signature