The ISI driver uses udelay() to wait for 300µs in a context where it can sleep. Use fsleep() instead. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- drivers/media/platform/nxp/imx8-isi/imx8-isi-hw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-hw.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-hw.c index eddc7fc36337..be12d0d2f42f 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-hw.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-hw.c @@ -86,7 +86,8 @@ void mxc_isi_channel_m2m_start(struct mxc_isi_pipe *pipe) val = mxc_isi_read(pipe, CHNL_MEM_RD_CTRL); val &= ~CHNL_MEM_RD_CTRL_READ_MEM; mxc_isi_write(pipe, CHNL_MEM_RD_CTRL, val); - udelay(300); + + fsleep(300); val |= CHNL_MEM_RD_CTRL_READ_MEM; mxc_isi_write(pipe, CHNL_MEM_RD_CTRL, val); -- Regards, Laurent Pinchart