On Thu, Apr 11, 2019 at 06:42:33PM +0200, Noralf Trønnes wrote: > +++ b/drivers/spi/spi.c > @@ -1299,6 +1299,11 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread) > > trace_spi_message_start(ctlr->cur_msg); > > + ret = spi_split_transfers_maxsize(ctlr, ctlr->cur_msg, ctlr->max_dma_len, > + GFP_KERNEL | GFP_DMA); > + if (ret) > + goto out; > + We should do any message maipulation in __spi_validate() with all the other mainpulation, the message pump should just be pushing messages out.