Re: [PATCH v2 2/2] spi: spl022: switch to use default spi_transfer_one_message()

From: Nam Cao
Date: Thu Dec 14 2023 - 02:50:08 EST


On Thu, 14 Dec 2023 01:19:04 +0100 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> On Wed, Nov 29, 2023 at 5:32 PM Nam Cao <namcao@xxxxxxxxxxxxx> wrote:
> > Except for polling mode, this driver's transfer_one_message() makes use
> > of interrupt handler and tasklet. This is problematic because
> > spi_transfer_delay_exec(), who may sleep, is called in interrupt handler
> > and tasklet. This causes the following warning:
> > BUG: sleeping function called from invalid context at drivers/spi/spi.c:1428
> >
> > Switch to use the default spi_transfer_one_message() instead, which
> > calls spi_transfer_delay_exec() appropriately.
> >
> > Signed-off-by: Nam Cao <namcao@xxxxxxxxxxxxx>
> > Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> > ---
> > Tested with polling mode and interrupt mode, NOT with DMA mode.
> > Support with testing very appreciated!
>
> FWIW I tested this now on a device using DMA for the transfers
> and everything works fine like before.

Thanks for spending time reviewing and testing!

Best regards,
Nam