diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c index f1aa5c15d1805531479e2f45d952db0cd42f506f..ef952946375ad3cdb1aca4cc102b55304b54371d 100644 --- a/drivers/spi/spi-qup.c +++ b/drivers/spi/spi-qup.c @@ -311,8 +311,8 @@ static int spi_qup_prep_sg(struct spi_master *master, struct spi_transfer *xfer, } desc = dmaengine_prep_slave_sg(chan, sgl, nents, dir, flags); - if (!desc) - return -EINVAL; + if (IS_ERR_OR_NULL(desc)) + return desc ? PTR_ERR(desc) : -EINVAL; desc->callback = callback; desc->callback_param = qup;