On Wed, 26 Jul 2023 at 13:50, Wang Ming <machel@xxxxxxxx> wrote: > > It is possible that dma_request_chan will return EPROBE_DEFER, > which means that host->dev is not ready yet. In this case, > dev_err(host->dev), there will be no output. This patch fixes the bug. More exactly, what do you mean by "host->dev is not ready yet"? Did you really test this? Kind regards Uffe > > Signed-off-by: Wang Ming <machel@xxxxxxxx> > --- > drivers/mmc/host/dw_mmc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index 829af2c98a44..5a3eefd86931 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -841,9 +841,9 @@ static int dw_mci_edmac_init(struct dw_mci *host) > > host->dms->ch = dma_request_chan(host->dev, "rx-tx"); > if (IS_ERR(host->dms->ch)) { > - int ret = PTR_ERR(host->dms->ch); > + int ret = dev_err_probe(host->dev, PTR_ERR(host->dms->ch), > + "Failed to get external DMA channel.\n"); > > - dev_err(host->dev, "Failed to get external DMA channel.\n"); > kfree(host->dms); > host->dms = NULL; > return ret; > -- > 2.25.1 >