Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: mediatek: Avoid NULL pointer crash in interrupt

In some case, like after a transfer timeout, master->cur_msg pointer
is NULL which led to a kernel crash when trying to use master->cur_msg->spi.
mtk_spi_can_dma(), pointed by master->can_dma, doesn't use this parameter
avoid the problem by setting NULL as second parameter.

Fixes: a568231f46322 ("spi: mediatek: Add spi bus for Mediatek MT8173")
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Link: https://lore.kernel.org/r/20220131141708.888710-1-benjamin.gaignard@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Benjamin Gaignard and committed by
Mark Brown
f83a96e5 60b1e971

+1 -1
+1 -1
drivers/spi/spi-mt65xx.c
··· 624 624 else 625 625 mdata->state = MTK_SPI_IDLE; 626 626 627 - if (!master->can_dma(master, master->cur_msg->spi, trans)) { 627 + if (!master->can_dma(master, NULL, trans)) { 628 628 if (trans->rx_buf) { 629 629 cnt = mdata->xfer_len / 4; 630 630 ioread32_rep(mdata->base + SPI_RX_DATA_REG,